2016-09-26 2 views
2

私のコードは、基本的には異なるインデックスを使用するすべてのコンポーネントで同じように非常に長い時間がかかり、必要な型のArrayListにすべて配置することに決めました。
私のコードでは、CheckBoxのチェックに従ってJSpinnerを有効または無効にする必要があります。JSwingコンポーネント用のArrayListsの使用

私はこのようなコードを作った:

private static void updateGUI(int index){ 

    boolean enabl = checkBoxes.get(index).isEnabled(); 
    System.out.println(enabl); 
    spinners.get(index).setEnabled(enabl); 
//more irrelevant stuff done here 
} 

だから私はちょうど使用チェックボックスのインデックスを与えるだろうし、それに応じたJSpinnerを更新する必要があります。私はチェックボックスの現在の値を出力するために行を配置しましたが、それは関数をトリガするときに常にtrueを出力します。

すべてのチェックボックスはArrayListに正しく配置されており、間違いを見つけることはできません。どんな助けもありがとう!

+0

実行可能なアプローチのようです。何がうまくいかないの?あなたは何を求めているのですか? –

+2

'isEnabled'ではなく' isSelected'を使用しているはずです。ドキュメントをお読みください。 – RealSkeptic

+0

'boolean enabl = checkBoxes.get(index).isEnabled();'を使用すると、このチェックボックスが有効になっていて、チェックされていないプロパティがある場合は常にtrueです。 – Numb

答えて

2

あなたの問題は異なる性質のものだと思います。

チェックボックスが選択されているかどうかを知りたい場合は、あなたの代わりにISENABLEDisSelectedを呼び出すべきです!

また、ItemListenerを使用して、チェックボックスがオンになっていることを確認するたびに通知することもできます。

1

isEnabled()機能は、チェックボックスが選択されているかどうかを示していません。チェックボックスがアクティブであるかどうかを示します。試して​​メソッドを試してください。

関連する問題