我有一个关于JComboBox的简短问题。
我将它与一个填充了Vector vec的DevaultComboBoxModel一起使用。
因此,当我更改向量中的元素并在组合框上点击时,它可以正常工作。它显示了已更改的元素。
但是当我更改当前所选元素时,它不会更新新信息。
所以我的问题是,我如何构建一个动作监听器,以便当列表中的任何元素发生变化时,我的组合框会更新?
或者是否存在我可以用于此案例的组合框的现有事件?
感谢您的帮助!
(与Netbeans合作)
所以我正在做的是运行应用程序,选择Dog,Klick按钮。选择后仍然说狗。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.*;
public class ComboBoxModelBeispiel {
public static void main(String[] args) {
JFrame meinJFrame = new JFrame();
meinJFrame.setTitle("JComboBox Beispiel");
meinJFrame.setSize(300, 100);
JPanel panel = new JPanel();
JLabel label = new JLabel("ComboBox");
panel.add(label);
Vector vec = new Vector();
vec.add("Chicken");
vec.add("Dog");
vec.add("Cat");
JComboBox testCombo = new JComboBox(vec);
JButton button = new JButton("Change Dog to Mouse");
button.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
vec.remove(1);
vec.add(1, "Mouse");
}
});
panel.add(testCombo);
panel.add(button);
meinJFrame.add(panel);
meinJFrame.setVisible(true);
}
}