最初のコンボの選択された項目が変更された場合、2 番目のコンボは選択された項目を保持しますが、スピナーを再呼び出しします (スピナーは 2 番目のボックスにのみリンクされます)。私の問題は、これを行うときにスピナーの stateChange リスナーをトリガーできないことです。
次のコードは、最初のボックスが変更されたときに最後の項目を再選択するように 2 番目のボックスを強制するコードです (ここでは何も問題はなく、問題なく動作します)。
String orientare = (String) orientareComboBox.getSelectedItem();
orientareComboBox.setSelectedItem(orientare);
これは、2 番目のボックス 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()
。実行できないためです。