Java 从JPanel中完全删除JLabel…设置不可见(错误)
我有一个相当简单的问题。我有一个JFrame上的JPanel。我在JPanel上有一个JLabel。我想知道,在运行时如何从JPanel中完全删除JLabelJava 从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
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();
这将完全删除标签,然后刷新父容器