# Grafische Oberfläche - Welche Komponenten?



## babuschka (18. Jun 2005)

Ich will mir mit NetBeans ein kleines Programm bauen. So, jetzt weiß ich leider nicht, mit welchen Komponenten ich das realisieren kann.

Also, ich habe mir eine Oberfläche vorgestellt, wie bei eMule. Das ganze will ich mit Swing machen, also kein AWT. Anscheinend ist Swing besser, keine Ahnung ... 
Oben die Menüleiste, welche aber kein Problem darstellt. Darunter befindet sich eine Leiste mit Grafikbuttons. Wenn ich auf die Verschiedenen Buttons klicke, ändert sich unten der komplette Inhalt. Mit welchen Komponenten kann ich das in NetBeans bzw. Java realisieren?
Ihr müsst mir hier keinen Quellcode oder so posten, der Aufbau reicht. Den Quellcode kann ich mir dann aus verschiedenen Quellen zusammensuchen.

Ich könnte es mit einem jTabbedPane und vielen jPanels lösen. Das käme auf das gleiche heraus, nur kenne ich diese Methode schon und finde sie langweilig aussehend.



(Falls einer von euch das Programm nicht kennt, hier ein paar Screenshots)
http://mathias.rousseau.free.fr/peer_to_peer/tutoriaux/emule/images/emule_servers.gif
http://www.calshop.biz/2004_a/soft/thebest/internet/img/eMule_1.jpg
http://edonkey.sharereactor.it/emule.it-mirrors/guida_emule/images/priorita.gif


----------



## L-ectron-X (18. Jun 2005)

Nimm eine JToolBar
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JToolBar.html

und JButton
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JButton.html

in die du mit setIcon()
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/AbstractButton.html#setIcon(javax.swing.Icon)

oder direkt im JButton-Konstruktor
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JButton.html#JButton(javax.swing.Icon)
die Symbol-Grafik einsetzt.

Außerdem bietet sich hier die Verwendung von BorderLayout als LayoutManager an
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/BorderLayout.html

Netbeans verfügt hier über ausgezeichnete Möglichkeiten das auch mit wenigen Mausklicks zu organisieren.

Viel Spaß beim Basteln. :wink:


----------



## babuschka (18. Jun 2005)

Jepp, so habe ich es mir schon gedacht  Jetzt, da das abgesegnet ist noch eine Frage:

Wie mache ich den Inhaltsteil? Ich wollte erst jPanels nehmen und die mit den jeweiligen Inhalten füllen. Und dann sollte je nach dem, welche jToolbar-Button gedrückt wird, ein jPanel sichtbar werden und alle anderen unsichtbar (Opaque). Jetzt habe ich eben herausgefunden, dass die Komponenten in den jPanels sichtlich wenig beeindruckt sind und einfach sichtbar bleiben, anstatt - wie ich dachte - mit dem jPanel mitverschwinden.

*denk* Wie mache ich das am besten?


----------



## L-ectron-X (18. Jun 2005)

Am besten ist es wohl, wenn du für jeden Menüpunkt der JToolBar ein eigenes Panel zusammenbaust.
Beim Verarbeiten des ActionEvents brauchst du dann nur noch die alte JPanel-Referenz von der Oberfläche entfernen, die neue hinzufügen und neuzeichnen.
Im Code sollte das dann so etwa aussehen:

```
remove(oldPanel);
add(newPanel);
validate();
```


----------



## babuschka (18. Jun 2005)

Ok danke! Ich probiere es aus. Wenn's nicht klappt, melde ich mich einfach noch einmal  8)


----------



## Chucky (21. Jun 2005)

Mantis hat gesagt.:
			
		

> Das ganze will ich mit Swing machen, also kein AWT. Anscheinend ist Swing besser, keine Ahnung ...


->->->
[quote="JAVA 5", Dirk Louis, Peter Müller]Grundsätzlich gilt: Swing soll das AWT nicht ersetzen, sondern erweitern. Die Aufgabengebiete der beiden Bibliotheken sind nicht identisch[/quote]

Mfg Bob


----------

