ここにシナリオがあります。私は、たくさんのチェックボックスを持つスイングアプレットを持っています。それらのうちのいくつかは、別のものをチェックするときに無効にされ/チェックされない。各ItemStateChange()
イベントは、変更のためにフォーム全体を解析するメソッドを実行します。マウスのクリックまたはsetSelected()
コールのためにItemStateChange()
イベントが発生したかどうかを確認する方法はありますか?実際にマウスがJavaのチェックボックスをクリックしたかどうかを確認できますか?
各チェックボックスについてItemStateChange()
は標準パラメータjava.awt.event.ItemEvent evt
を持っている私は、ボックスをクリックしたときに一度だけprocessOrder()メソッドをコールしたいと思います。今は、変更がsetSelected()
から起こったかどうかにかかわらず、それぞれの変更に対して発生します。 1回のクリックで10件以上の電話があった場合もあります。
私はコメントする前に削除された回答がここにありました。それは 'if(evt.getStateChange()== ItemEvent.SELECTED){'を示しました。これは 'setSelected()'を使って状態を変更するときに 'parseForm()'へのメソッド呼び出しを妨げています。それはまさに私が望むものです。なぜ答えが削除されたのか分かりません – DewBoy3d
詳細な検査の後、ボックスをオフにすると機能しません。私はそれが削除された理由を推測します... – DewBoy3d