JComboBox gibt SelectedItem immer doppelt aus

  • Themenstarter Themenstarter Gamma
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Gamma

Gast
Hallo,

ich habe in meinem Programm eine JComboBox, welche dynamisch mit Auswahlpunkten aus einer Datenbank gefüllt wird. Für die Weiterverarbeitung der dann ausgewählten Einträge habe ich einen ItemListener implementiert und will dann über "getSelectedItem()" abfragen was ausgewählt wurde.

Wenn ich mir die Auswahl dann aber ausgeben lassen erscheint der ausgewählte Eintrag aber immer doppelt sprich in der JComboBox wurde z.B. der Eintrag "Buch" ausgewählt und die Ausgaben via println ist "Buch" "Buch".


Hier mal der entsprechende Quellcode:
Code:
private JComboBox getJComboBox() {
		if (jComboBox == null) {
			try {
				jComboBox = new JComboBox(Ausleihen.readAusleiher());
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			jComboBox.setBounds(73, 230, 201, 42);
			jComboBox.addItemListener(new java.awt.event.ItemListener() { 
				public void itemStateChanged(java.awt.event.ItemEvent e) {  
					//Wirft alles doppelt aus!!!
					System.out.println((jComboBox.getSelectedItem().toString()));
				}
			});
			
		}
		return jComboBox;
	}

Woran kann dies liegen und wie schaffe ich es dass das selektierte Item nur 1x mal ausgegeben wird?
 
Beachte "ItemEvent.getStateChange", das ist entweder DESELECT oder SELECT.
 
Beni hat gesagt.:
Beachte "ItemEvent.getStateChange", das ist entweder DESELECT oder SELECT.

Sorry, kannst du diese Aussage noch etwas spezifizieren, ich bin leider noch ein Anfänger und komme noch nicht darauf, worauf du hinauswillst. :###
 
Ach, das gehört zu den "dreimal-die-Woche"-Fragen, deshalb meine kurze Antwort.

Code:
jComboBox.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent e) { 
               //Wirft alles doppelt aus!!!
               if( e.getStateChange() == ItemEvent.SELECTED ){
                  System.out.println((jComboBox.getSelectedItem().toString()));
                   // jetzt nicht mehr so oft
               }
            }
         });
 
Beni hat gesagt.:
Ach, das gehört zu den "dreimal-die-Woche"-Fragen, deshalb meine kurze Antwort.

Code:
jComboBox.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent e) { 
               //Wirft alles doppelt aus!!!
               if( e.getStateChange() == ItemEvent.SELECTED ){
                  System.out.println((jComboBox.getSelectedItem().toString()));
                   // jetzt nicht mehr so oft
               }
            }
         });


Merci beaucoup! 🙂

Ist halt eine Frage der Erfahrung, aber die kommt eben erst mit der Zeit...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben