我有两个组合框。第一个包含一些运算符(+、-、*、/),第二个包含一些从 0 到 10 的值。当用户在第一个组合框中选择 (/) 时,我希望第二个组合框显示从 2 到 10 的值0 到 10。
我已经尝试过这个:
String[] operators = {"+","-" ,"*", "/"};
String[] number = {"0","1","3"....."10"};
divisionModel= new DefaultComboBoxModel(new String[]{"2","3","4","5".."10"});
operatorCombo = new JComboBox(operators);
numberCombo = new JComboBox(number);
operatorCombo.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (operatorCombo .getSelectedItem().equals("/")){
numberCombo .setModel(divisionModel);
}
我的问题是,当我选择(“/”)时,numberCombo 工作正常并显示 2 到 10 之间的数字,但是当我单击另一个运算符时,它仍然显示 2 到 10 之间的数字,而不是 0 到 10。我解决了这个问题?! 谢谢
最佳答案
// always compare objects using equals()
if (operatorCombo.getSelectedItem().equals("/")) {..
至于更新第二个组合,为其创建一个新模型并调用 setModel(ComboBoxModel)
.
关于java - JComboBox 项目监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10473065/