我正在尝试使用我在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
}
});
答案 0 :(得分:1)
这将是:
String item = (String)comboBox.getSelectedItem();
然后,您可以在ItemListener中使用它。如果您正在做一些复杂的事情,请编写另一个执行复杂内容的方法,然后从itemStateChanged()
方法调用它,并传递ItemEvent
变量。
答案 1 :(得分:1)
在ItemListener
中,您可以访问活动的来源。然后,您可以访问组合框的任何属性。
JComboBox comboBox = (JComboBox)e.getSource();
String item = (String)comboBox.getSelectedItem();
无需使组合框最终。