JComboBox

Hippopotamus

Grünschnabel
Hallo,
habe einen einfache JComboBox Quellcode und lasse mir die ausgewählten Einträge auf der Konsole anzeigen. Die werden aber immer doppelt ausgegeben.
Hier mein Code:

package org.combobox;


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ComboBox
{
public static void main( String[] args )
{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
String[] lang = {
"Fook Mi", "Fook Yu", "Felicity Shagwell", "Alotta Fagina",
"Ende"
};
// Erste Combo-Box
JComboBox combo1 = new JComboBox();
for ( String s : lang )
combo1.addItem( s );
frame.add( combo1, BorderLayout.WEST );
combo1.addItemListener( new ItemListener() {
public void itemStateChanged( ItemEvent e ) {
JComboBox selectedChoice = (JComboBox)e.getSource();
String petName = (String)selectedChoice.getSelectedItem();
//hier werden die gewählten Strings ausgegeben
System.out.println(petName);
if ( selectedChoice.getSelectedItem().equals("Ende") )
System.exit( 0 );
}
} );
// Zweite Combo-Box


frame.pack();
frame.setVisible( true );
}
}
 
Moin!
das hätte man leicht nachlesen können....
In der API Dokumentation steht doch beschrieben, das ItemEvents ausgelöst werden, sobald sich der Selektionszustand eines Items ändert. D.h. wenn es selektiert oder deselektiert wird. Daher erhälst du auch immer 2 Ausgaben, wenn du eine neue Auswahl triffst.
Wenn du nur darauf reagieren willst, wenn eine neues Item selektiert wird, dann nutze einen ActionListener...

*grüssle*
MeinerEiner


PS: Das nächste mal zur besseren Lesbarkeit bitte die Code-Tags für den Quellcode verwenden
 
Zurück