0

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

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

我已经尝试了所有这些来让那个按钮消失,我也禁用了它,但我需要它只是消失,而不是淡出或其他东西。背景是可变的,所以我无法制作它,所以它的颜色与它相同,并假装它不存在。有没有人有任何线索如何让它消失?

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

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

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

4

2 回答 2

4

如果要删除按钮:

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

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

public void actionPerformed(ActionEvent actionevent)
{
  button.removeActionListener(this);
}
于 2013-02-06T22:14:31.323 回答
1

如果您在“处理”后不需要它,请随时将其从父代中移除。

button.getParent().remove(button);

否则,请遵循 HoverCraftFullOfEel 的建议。

于 2013-02-06T22:14:15.547 回答