如何使用匿名内部类actionlistener使JButton在单击时删除自身?

您好,感谢您提前阅读,这是我的问题:

final JButton button = new JButton(); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionevent) { button.setVisible(false); button.validate(); button.invalidate(); button.revalidate(); button.repaint(); } }); 

我已经尝试了所有那些只是让那个按钮消失了,我已经禁用了它,但是我需要它才能消失,而不是消失或什么的。 背景是变形的,所以我不能这样做,所以它有相同的颜色,并假装它不存在。 有没有人知道怎么让它消失?

编辑 :我已经尝试了所有的答案现在,并真的要感谢你,但按钮仍然在那里:(

编辑2 :我认为由于我的计时器不断添加按钮我犯了一个很大的错误,感谢所有的帮助,这仍然是非常有用的!

编辑3 :非常感谢你,我已经解决了你们帮助的问题:)

如果要删除按钮:

 Container parent = button.getParent(); parent.remove(button); ((JComponent) parent).revalidate(); parent.repaint(); 

如果要从按钮中删除动作侦听器:

 public void actionPerformed(ActionEvent actionevent) { button.removeActionListener(this); } 

如果您在处理之后不需要它,请随意将其从父母处除去。

button.getParent().remove(button);

另外,请遵循HoverCraftFullOfEel的建议。