我有一个相当简单的问题。我在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)......但这并不能真正删除对象-_-。我该如何删除它?
答案 0 :(得分:8)
您是否可以使用它来查找JLabel的父容器,然后使用remove方法?
Container parent = label7.getParent();
parent.remove(label7);
parent.validate();
parent.repaint();
这应该完全删除标签,然后刷新父容器。
答案 1 :(得分:3)
就是这样。
jpanel.remove(label7);
jpanel.revalidate();
jpanel.repaint();
答案 2 :(得分:0)
jpanel.remove(component);
这是您删除组件所需的全部内容。