Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从JPanel中完全删除JLabel…设置不可见(错误)_Java_Jpanel - Fatal编程技术网

Java 从JPanel中完全删除JLabel…设置不可见(错误)

Java 从JPanel中完全删除JLabel…设置不可见(错误),java,jpanel,Java,Jpanel,我有一个相当简单的问题。我有一个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 l

我有一个相当简单的问题。我有一个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)……但这并不能真正删除对象-。我怎样才能删除它?

就是这个

jpanel.remove(label7);
jpanel.revalidate();
jpanel.repaint();
jpanel.remove(组件)


这就是删除组件所需的全部调用。

难道不能用它来查找JLabel的父容器,然后使用remove方法吗

Container parent = label7.getParent();
parent.remove(label7);
parent.validate();
parent.repaint();
这将完全删除标签,然后刷新父容器