5

かなり簡単な質問があります。JFrame に JPanel があります。JPanel に JLabel があります。実行時に JPanel から JLabel を完全に削除するにはどうすればよいでしょうか。

ImageIcon image7= new ImageIcon("archmageanim.gif");
JLabel label7 = new JLabel("", image7, JLabel.CENTER);
p.add( label7, "0 , 6" ); //This coordinate has to do with a layout manager I'm using - it 
                          //I'm using - it works fine.

私はこの解決策を探しました...しかし、誰もが「最も簡単な方法」は setVisible(false) を設定することだと言っています...しかし、それはオブジェクトを本当に削除しません-_-。どうすれば削除できますか?

4

3 に答える 3

9

これを使用して JLabel の親コンテナを見つけてから remove メソッドを使用することはできませんか?

Container parent = label7.getParent();
parent.remove(label7);
parent.validate();
parent.repaint();

これにより、ラベルが完全に削除され、親コンテナーが更新されます。

于 2012-07-11T17:59:51.010 に答える