使用新值重置ComboBox

时间:2016-03-25 19:58:48

标签: java jframe jpanel jcombobox jcomponent

如何使用新值重新加载JComboBox对象? 我是否应该再次将JComboBox对象重新添加到Panel中,以便查看显示的新值,P.S。我删除了将新值添加到堆栈的方法,我希望在" ????"之后达到我的目标。评论,你可以看到ComPort是我希望在组合框中使用其新值的数组>

  <i>
    public class Test {
        static String [] ComPort={"No Ports Available"};
        static Stack ComPortList=new Stack();
        static JPanel Pan=new JPanel();
        static JComboBox Com=null;
        static JFrame Fra=new JFrame();
        public Test()
        {
            Com=new JComboBox(ComPort);
            Fra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Fra.setSize(750, 750);
            Pan.add(Com);
            Pan.setPreferredSize(new Dimension(500,500));
            Fra.setVisible(true);
            Fra.setResizable(false);
            Fra.add(Pan);
        }
        public static void main(String args[])
        {
            new Test();
            AvailablePort();
            for(int i=0;i<100;i++)
                if(ComPortList.isEmpty())
                    break;
                else
                    ComPort[i]=(String) ComPortList.pop();
            Com=new JComboBox(ComPort);
            //????
        }
    </i>

2 个答案:

答案 0 :(得分:0)

您可以获取ComboBoxModel并使用它来删除所有现有项并添加新项,或者创建一个新的JComboBox可能更容易,将新项传递给它的构造函数。

答案 1 :(得分:0)

JComboBox允许您清除所有项目,然后添加新项目。

JComboBox<String> box = new JComboBox<String>(new String[]{"No Ports Available"});  

box.removeAllItems(); // Clear all items.

for(int i=0; i<10; i++) // Add your new items.
    box.addItem("# "+i);
相关问题