如何使带有匿名内部类动作侦听器的 JButton 在单击时自行删除?

2024-01-07

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

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();
            }
        });

我已经尝试了所有这些方法来让该按钮消失,我也禁用了它,但我需要它消失,而不是淡出或其他什么。背景是可变的,所以我无法制作它,因此它具有与它相同的颜色并假装它不存在。有谁知道如何让它消失吗?

EDIT:到目前为止我已经尝试了所有答案,非常感谢您,但按钮仍然存在:(

EDIT2:我想我因为计时器而不断添加按钮犯了一个很大的错误,感谢所有的帮助,这仍然非常有用!

EDIT3: 非常感谢大家,在你们的帮助下我已经解决了这个问题:)


如果您想删除该按钮:

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

如果您想从按钮中删除操作侦听器:

public void actionPerformed(ActionEvent actionevent)
{
  button.removeActionListener(this);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使带有匿名内部类动作侦听器的 JButton 在单击时自行删除? 的相关文章

随机推荐