我有 2 个组合框和一个微调器,它们的工作方式如下:如果第一个组合的选定项目被更改,第二个组合保留其选定项目但重新调用微调器(微调器仅链接到第二个框)。我的问题是当我这样做时我无法触发微调器的 stateChange 侦听器。
这是在第一个框被更改时强制第二个框重新选择其最后一项的代码(这里没有错,它工作得很好):
String orientare = (String) orientareComboBox.getSelectedItem();
orientareComboBox.setSelectedItem(orientare);
这是第二个框 actionListener 的代码:
public void actionPerformed(ActionEvent e) {
JComboBox combo = (JComboBox) e.getSource();
String value = combo.getSelectedItem().toString();
if (value.equalsIgnoreCase("oblica"))
{
unghiSpinner.setEnabled(true);
double unghi = (double) unghiSpinner.getValue();
unghiSpinner.setValue(new Double(unghi));
}
}
和微调器的侦听器:
public void stateChanged(ChangeEvent e)
{
if (unghiSpinner.isEnabled())
{
// do something
}
}
我不知道我应该使用什么命令unghiSpinner
来触发它的监听器,因为setValue()
我做不到。