これを行うコードが少しあります:
ActionListener を作成します
を。アタッチ先のボタンから自身を削除します (2. を参照)。
b. 他のいくつかのことをします
その ActionListener をボタンに追加します
(コード内:)
ActionListener playButtonActionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
playButton.removeActionListener(playButtonActionListener);
// does some other stuff
}
};
playButton.addActionListener(playButtonActionListener);
コンパイル時に、Java は 4 行目をエラーとして報告(variable playButtonActionListener might not have been initialized)
し、コンパイルを拒否します。これはおそらく、playButtonActionListener が閉じ括弧まで技術的に完全に初期化されておらず、removeActionListener(playButtonActionListener)
playButtonActionListener が初期化された後に発生する必要があるためです。
これを修正する方法はありますか?このブロックの書き方を完全に変更する必要がありますか? または、何らかの@
フラグまたは別の解決策がありますか?