JCombobox如何使用模型?

时间:2015-01-12 16:48:06

标签: java swing jcombobox

我正在尝试使用我在Window Builder中设置的模型。

 'comboBox.setModel(new DefaultComboBoxModel(new String[] {"Easy", "Medium", "Hard"}));'

我不知道如何在我的If语句中使用“Easy”,“Medium”,“Hard”这个文本。 有完整的代码。

JComboBox comboBox = new JComboBox();
        comboBox.setMaximumRowCount(3);
        comboBox.setModel(new DefaultComboBoxModel(new String[] { "Easy",
                "Medium", "Hard" }));
        comboBox.setFont(new Font("Tahoma", Font.PLAIN, 16));
        comboBox.setBounds(101, 67, 194, 39);
        frame.getContentPane().add(comboBox);
        comboBox.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent event) {
                if (event.getStateChange() == ItemEvent.SELECTED)
                    Snake.dificaulty = 1; // this variable is telling about difficulty level
            }

        });

2 个答案:

答案 0 :(得分:1)

这将是:

String item = (String)comboBox.getSelectedItem();

然后,您可以在ItemListener中使用它。如果您正在做一些复杂的事情,请编写另一个执行复杂内容的方法,然后从itemStateChanged()方法调用它,并传递ItemEvent变量。

答案 1 :(得分:1)

ItemListener中,您可以访问活动的来源。然后,您可以访问组合框的任何属性。

JComboBox comboBox = (JComboBox)e.getSource();
String item = (String)comboBox.getSelectedItem();

无需使组合框最终。