[英]How do I make a JButton with an anonymous innerclass actionlistener remove itself on click?
您好,感谢您提前阅读,这是我的问题:
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();
}
});
我已经尝试过所有这些操作,只是使该按钮消失了,我也禁用了它,但是我需要它只是消失,而不是淡出或其他东西。 背景是variabel,所以我无法制作它,因此它和它具有相同的颜色,并假装它不存在。 有谁有任何线索可以使它消失吗?
编辑 :我已经尝试了所有答案,非常感谢您,但是按钮仍然存在:(
EDIT2 :我认为由于计时器的缘故,我经常添加按钮时犯了一个很大的错误,感谢所有帮助,这仍然非常有用!
EDIT3 :非常感谢大家,我已经在你们的帮助下解决了问题:)
如果要删除按钮:
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的建议。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.