[AWT] Suche Event für java.awt.list (onSelect?)

Friesi

Erfahrenes Mitglied
Hi!

Ich suche gerade das Event, welches ausgelöst wird, wenn man in einer List ein Item mit der Maus auswählt.

Könnte mir da jemand auf die Sprünge helfen :)?

Gruss,
Friesi
 
Hi!

Danke schonmal für die ersten Ansätze :)

Also bis jetzt hab ich für die Buttons immer ActionListener eingerichtet.

Java:
        btnOrtLoeschen.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (e.getActionCommand().equals("Löschen")) {

                                   // Anweisungen
				}
			}
	}
        );


Jetzt hab ich dieses mal auf meine Liste angewendet, doch bekomme bei einem Doppelklick auf das Item den String übergeben:

Java:
        liOrte.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
                                System.out.println("Action: "+e.getActionCommand());
			}
	}
        );

Nur würde ich das gerne schon direkt bei der Auswahl übergeben bekommen und ambesten noch die ItemID oder eben ambesten mit getSelectedItem() arbeiten.
 
Zuletzt bearbeitet:
Moin!
Nur würde ich das gerne schon direkt bei der Auswahl übergeben bekommen und ambesten noch die ItemID oder eben ambesten mit getSelectedItem() arbeiten.

So ganz verstehe ich nicht, was du meinst, aber vielleicht ist dir ja damit geholfen?!

Code:
list.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
           List source = (List) e.getSource();
           Object selected = source.getSelectedValue();
           int index = source.getSelectedIndex();
      }
}
 
Zuletzt bearbeitet von einem Moderator:
Mhm ne das hilft nicht ganz. Das Event wird weiterhin erst ausgeführt, wenn man das Item in der Liste mit einem Doppelklick auswählt.
Doch es sollte bei einem einfachen Klick auf das Item reagieren.

Also derzeit reagiert der ActionListener nur auf einen Doppelklick.
 
Ah, jetzt hab ich dich verstanden...
Nun dann musst du den wie schon erwähnten ItemListener nutzen:
Code:
list.addItemListener(new ItemListener(){
           public void itemStateChanged(ItemEvent e) {
               Integer index = (Integer)e.getItem();
               if(e.getStateChange()== ItemEvent.SELECTED){
                   System.out.println("Item mit index "+index+" ist nun selektiert");
               }
               
           }
        });

*grüssle*
MeinerEiner
 
Ah Klasse!

Mit dem Eventhandling hab ich es noch nicht so, wird sicherlich noch! :)

Vielen Dank! Und schönen Sonntag noch!
 
Zurück