私は学校のためのクイズを作成しています。質問のためのいくつかのボタンがあります。これを押すと、新しい質問が表示され、4つの回答のボタンに対して4種類のActionListeners
が作成されます。 ボタンを1回押した後で、4 ActionListeners
を削除する必要があります。 ボタン自体からActionListener
を削除できましたが、もう1つを削除したいと思います。ActionListeners
Java:匿名のActionListenersを削除するには?
すべての新しいActionListener
は次のようになります。
btAnswer1.addActionListener(new java.awt.event.ActionListener()
{
@Override
public void actionPerformed(java.awt.event.ActionEvent evt)
{
lResult.setForeground(Color.red);
lResult.setText("Wrong Answer :(");
// The team is changed.
if (aktTeam == 1)
{
aktTeam = 2;
lAktTeam.setText("Team 2");
}
else
{
aktTeam = 1;
lAktTeam.setText("Team 1");
}
// Here, this ActionListener is removed. But the others should
// be removed too.
btAntwort1.removeActionListener(this);
}
});
は私が誰かを助けることができると思います。 :)
編集:davidxxxによって解決される。ありがとう!
はこの 'awt'です???? – CKing
新しく作成された 'ActionListener'の参照を(例えば配列の中に)保存し、それらの参照を後ですべて削除するためにこれらの参照を再利用します。 – Stephan
すべてのボタンが含まれているコンポーネントへの参照はありますか? – CKing