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 に答える