2012-07-11 61 views
3

我有一个相当简单的问题。我在JFrame上有一个JPanel。我在JPanel上有一个JLabel。我如何,我是否在运行时从JPanel完全删除JLabel?从JPanel完全删除JLabel ... not setVisible(False)

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(假)......但是,这并不真正删除对象-_-。我如何删除它?

回答

8

你就不能使用这个找到的JLabel的父容器,然后使用remove方法?

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

这应该完全移除标签,然后刷新父容器。

0

jpanel.remove(component);

这是所有你需要调用删除组件。