Просто быстрый вопрос: actionCommand «comboBoxEdited» выкрикивается слушателю автоматически, или мне нужно каким-то образом добавить ActionCommand?
актируюJComboBox
и хочу добавить значения к нему из его ввода, т. е. когда я набираю что-то вJComboBox
и нажмите Enter, я хочу, чтобы текст появился в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);
}
}
к сожалению, когда я нажимаю ввод, два значения были вставлены вместо одного.
Почему?