我正在为学校创建测验。有几个按钮用于在按下时显示新问题,并为4个答案的按钮创建4个不同的ActionListeners
。 现在我需要在按下一个按钮后删除4 ActionListeners
。 我可以从按钮本身删除ActionListener
,但我想要删除其他3 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