редактируемый JComboBox

У меня есть редактируемый JComboBox , и я хочу добавить в него значения из его ввода, например, когда я введите что-то в JComboBox и нажмите клавишу ввода. Я хочу, чтобы этот текст отображался в списке JComboBox :

public class Program extends JFrame 
    implements ActionListener {
    private JComboBox box;

    public static void main(String[] args) {
        new Program().setVisible(true);
    }

    public Program() {
        super("Text DEMO");
        setSize(300, 300);
        setLayout(new FlowLayout());
        Container cont = getContentPane();
        box = new JComboBox(new String[] { "First", "Second", "..." });
        box.setEditable(true);
        box.addActionListener(this);
        cont.add(box);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        box.removeActionListener(this);
        box.insertItemAt(box.getSelectedItem(), 0);
        box.addActionListener(this);
    }
}

, к сожалению, когда я нажимаю клавишу ввода, были вставлены два значения вместо одного.

Почему?

8
задан mKorbel 18 June 2011 в 09:59
поделиться