ereignisverwaltung (Listeners)

Status
Nicht offen für weitere Antworten.

kartofelbauer

Aktives Mitglied
servus :)

hab hier n problem, bei dem ich echt nicht weiterkomme

ich habe eine JComboBox mit 2 Items!
und einen Button

jetzt brauch ich ja für die JComboBox einen ItemListener und für den Button einen ActionListener

so , als benutzer soll ich raussuchen können, welches von den 2 Items ich haben möchte und durch drücken des Buttons, soll dann die Aufgabe erfüllt werden!
wie kann ich das jetzt realisieren?

wenn ich den Itemlistener zur der ComboBos adde wird die Aktion ja schon ausgeführt bevor ich auf den Button drücke

ich kann ja die itemStateChanged() Methode im ActionListener bestimmt aufrufen, wie bekomm ich dann aber meinen bezug auf die Items der JComboBox?

kann mir da einer bitte weiterhelfen, ich hab echt keine ahnung wie ich das anstelle
 

Campino

Top Contributor
Vermutlich hat die JComboBox eine Methode, die das ausgewählte Item bekannt gibt...

Dann über switch oder if feststellen, welches es ist.

Viel Spaß beim ausprobieren, vielleicht weiß jemand die Methode??

Sonst guck in die API
 
M

mike

Gast
das wird ungefähr so aussehen :
Code:
....
JButton button = new JButton();
JComboBox box = new JComboBox();
....
....
button.addActionListener();
box.addItemListenet();
....

public void actionPerformed(ActionEvent evt)
{
   // hier kommt die Action, die für den Button bestimmt ist
}

public void itemStateChanged(ItemEvent evt)
{
   // hier kommt die Action für die JComboBox rein
   String command = evt.getActionCommand(); //damit erhältst du die Überschrift des Items der JComboBox, der vom Benutzer gewählt wurde, jetzt musst du nur mit if-Anweisung die verschiedenen Überschriften abarbeiten. Falls du keine Überschriften hast, kannst du auch jedem JComboBox-Item mit setActionCommand() einen String-Wert zuweisen, der ihn von anderen Items unterscheiden lässt
}
 
M

mike

Gast
P.S. ich weiss nicht, ob es wirklich möglich ist, auf einzelne Items der JComboBox die setActionCommand()-Methode anzuwenden, kannst ja ausprobieren, wenn du möchtest, ansonsten einfach die Überschriften in itemStateChanged abfragen

gruß mike
 
R

Roar

Gast
du brauchst an die comboBoix keinen itemListener dranhängen. einfach in den actionListener:
combo.getSelectedItem();
oder
combo.getSelectedIndex();
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen


Oben