Forum: PC-Programmierung Java ComboBox, JPanel und mehrere Objekte


von Olivia B. (olivia63)


Lesenswert?

Hallo,
ich habe eine Denkblockade oder bin gar auf dem Holzweg!

Ich habe ein Javaprogramm mit einem JFrame (wir nennen es mal FMain). In 
diesem FMain ist eie JComboBox mit 4 Items. Diese lassen sich auswählen, 
auswerten usw. FUNKTONIERT!
Des weiteren habe ich eine Klasse (diese nennen wir mal CButton), in der 
3 Buttons erstellt und in einer Gruppe zusammengefasst werden. Aus 
meinem MainFrame heraus kann ich nun 4 Objekte der Klasse CButton 
erstellen und mittels Übergabeparametern die Buttons entsprechend der 
Items benennen. Es wird schon deutlich, die Objekte und die ComboBox 
sollen mal zusammengehören.

Daneben habe ich ein leeres JPanel. Und nun zu meinem Problem: je nach 
gewähltem Item soll das enstprechende Objekt, also die Buttons, in 
diesem JPanel angezeigt werden.

Den Quelltext wollte ich nicht hochladen, da das Programm schon ziemlich 
fortgeschritten und somit etwas umfangreicher ist.

Für Tipps bin ich dankbar,

Oliv.

von ... (Gast)


Lesenswert?

Ja und wo ist nun das Problem? Mach einfach mehrere Panels mit den 
Buttons und schalte immer nur eins sichtbar.

von Olivia B. (olivia63)


Lesenswert?

Ich dachte eher an eine Art "iFrame" aus HTML, wenn du verstehst was ich 
meine. Aber damit laufe ich bei Java wohl gegen eine Wand. Das heißt 
(wenn ich richtig verstehe) einfach 4 Panels mit den Buttons anlegen und 
je nach gewähltem Item setVisible(true) und den Rest false.

Klingt einfach, macht aber in meinen Augen eine spätere Erweiterung des 
Programms, besonders der ComboBox, erschwerlich.
Wie ich das versuche (und scheinbar nicht checke) bräuchte ich nur einen 
Eintrag in der ComboBox hinzufügen und ein neues Objekt mit den 
jeweiligen Parametern erstellen lassen.

von ... (Gast)


Lesenswert?

Ob etwas leicht erweiterbar ist, hängt vom Programmierer und vom Design 
der Software ab. Mit dem factory design pattern ginge das so wie du es 
sagst.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Mach es einfach folgendermaßen:
Wird ein Objekt in der Combobox ausgewählt, entfernst du alle Objekte 
aus dem Panel (removeAllComponents oder so heißt das) fügst den Button 
hinzu und rufst revalidate/validate (je nach restlicher Struktur) auf 
dem Panel auf. Vieleicht tuts das schon weiß aber nicht was du vorhast, 
mir erscheint das etwas doppelt gemoppelt wenn ein JCombobox Buttons 
anzeiget die auchoch in einer anderen Klasse sind und das ganze soll 
erweiterbar sein...
Eventuell ist es "sauberer" EINEN Button zu haben und die auszuführende 
Aktion/Reaktion über die Combobox zu realisieren.
Du könntest auch einen Button nutzen und per Combobox nur den 
Text/Aktion ändern.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.