JCombobox 如何使用模型?

JCombobox How to use model?

我正在尝试使用我在 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
            }

        });

它将是这样的:

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

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

ItemListener中您可以访问事件源。然后你可以访问组合框的任何属性。

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

无需使组合框成为最终组合框。