带有矢量动作监听器的JComboBox

时间:2017-10-05 11:18:13

标签: java vector listener jcombobox

我有一个关于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);
    }
}

0 个答案:

没有答案