Kann mir vielleicht jemand sagen ob mit den Window Builder in Eclipse auch verschiedene Tabs auf meinem Fenster erzeugen kann, die ich dann anklicken kann? So wie wenn man einen Windows-Ordner mit rechter Maustaste -> Eigenschaften anklickt und dann die verschiedenen Register oben sieht und unter jedem Register etwas anderes aufgeführt ist (Allgemein, Sicherheit, usw.)
Ohne Window Builder hab ich bereits ne Lösung im Internet gefunden aber ich soll, nur mit dem Window Builder arbeiten. Hier mal mein bisheriger Code.
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Test2 frame = new Test2();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Test2() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JTabbedPane tabbedStatus = new JTabbedPane(JTabbedPane.TOP);
tabbedStatus.setBounds(0, 0, 86, 17);
contentPane.add("Name", tabbedStatus);
JTabbedPane tabbedASTController = new JTabbedPane(JTabbedPane.TOP);
tabbedASTController.setBounds(86, 0, 86, 17);
contentPane.add("Name", tabbedASTController);
JTabbedPane tabbedEinstellungen = new JTabbedPane(JTabbedPane.TOP);
tabbedEinstellungen.setBounds(172, 0, 86, 17);
contentPane.add("Name" ,tabbedEinstellungen);
}```
Funktioniert leider noch gar nicht.
Du darfst auch nicht mehrere JTabbedPanes erstellen, sondern nur eine und auf diese fügst Du dann die einzelnen Komponenten als Tabs (per addTab) ein.
Das Null Layout im ContentPane würde ich sein lassen. Nimm ersteinmal ein BorderLayout und füge dann nur diese eine JTabbedPane dort ein.
Ist keine große Kunst, ein simples Bsp: http://docs.oracle.com/javase/tutorial/uiswing/components/tabbedpane.html
ein Panel ist ja quasi nur eine Fläche innerhalb ein Container, bspw. eines Fensters oder einer Leiste für Button.
Einen Titel kannst Du nur dem umliegenden Container zuordnen!
Nochmal ne kleine Frage, ich habe jetzt meine 3 Tabs am oberen Bildrand, ich hab die jetzt auf die Größe des Ausgabefensters angepasst, damit ich je Tab ne andere Oberfläche basteln kann. Doch irgendwie kann ich meine Textfeld, Buttons usw. nicht mehr größer ziehen. Ich kann diese nur anlegen aber vergrößern oder verkleinern funktioniert nicht… Verschieben klappt auch nicht… Wo liegt mein Fehler
*** edit ***
erledigt, hab vergessen auf absolute layout zu klicken.
[quote=javabeginner67]*** edit ***
erledigt, hab vergessen auf absolute layout zu klicken.[/quote]
Wie oben schon erwähnt wurde. Du solltest dich wirklich vom Null-/Absolute-Layout verabschieden. Für ein paar Klickibunti-Fenster mag das ausreichen, aber wenn du gut bedienbare Oberflächen bauen willst, dann solltest du richtige LayoutManager verwenden.
LayoutManager sind normalerweise das erste worauf man trifft, wenn man sich mit der GUI Programmierung unter Java befasst?
Sie sind ein “Konzept” Komponenten auf einer graphischen Oberfläche anzuordnen und deren Verhalten bei Änderung von Größe und Auflösung zu steuern. http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html
Ja, und für jedes Problem gibts auch den richtigen Manager. GridBag ist wohl der mächtigste (nicht immer notwendig, aber empfehlenswert).
Da solltest du dich noch mal schlau machen, bzw die Grundlagen von Java lernen - denn Layout-Manager gehören dazu.