いくつかのチェックボックスがあり、選択されているものがあれば何かをしたい(たとえば、画面にラベルを表示する)。私はこの本を読んでおり、次のコードを示唆していますが、コンパイラは "checkBoxを変数に解決できません"というエラーを出します。JAVA GUI - itemStateChanged
質問1 - どうすればこの問題を解決できますか? 質問2 - ItemEventオブジェクトのgetItemメソッドとgetSourceメソッドの違いは何ですか? (どこで使う?)。
public void itemStateChanged(ItemEvent ie) {
if(ie.getItem() == checkBox)) { //the book's suggestion but it doesn't work
if(ie.getStateChange() == ItemEvent.SELECTED) {
// statements that execute when the box is checked
} else {
// statements that execute when the box is unchecke
}
} else {
// statements that execute when the source of the event is
// some component other than the checkBox object
}
}
ありがとうございます。質問1の場合、特定のチェックボックスボタンのどれが選択されていても(すべてのチェックボックスを1つずつテストしたくないと仮定して)、チェックボックス(任意の私たちの興味のある行為が行われますか? –
@MehrdadFarsadyarというものは何も言いませんでした。いくつかのチェックボックスのどれが絡み合っていても、同じアクションを実行したい場合、最も簡単なのは、リスナーをこれらのチェックボックスにのみ追加してから、アイテムのチェックを一切スキップすることです。リスナーは、それが登録されているウィジェットからのみイベントを受け取ります。 –