如何隐藏或删除JLabel

时间:2012-12-13 11:57:09

标签: java swing jlabel

我已声明JLable如下;

l = new JLabel("Hello");
l.setHorizontalAlignment(SwingConstants.CENTER);
panel.add(l);

现在,我想要隐藏或删除它。我该怎么称呼?

我试过l.removeAll();< ---没什么可恨的。

还有另一个calle remove(int),它接受​​一个int。但我不确定该作为参数传递什么。

还有一种名为hide()的东西。但它已被弃用。

7 个答案:

答案 0 :(得分:5)

i tried l.removeAll(); <--- nothing hapend.

您需要致电remove JPanelJLabel已添加到:{/ p>

panel.remove(l);

//after that you need to call this to revalidate and repaint the panel
panel.revalidate(); 
panel.repaint();

隐藏而不是删除电话

l.setVisible(false);

答案 1 :(得分:2)

尝试panel.remove(l);

panel.removeAll()也应该有效,但这也会删除可能已添加到面板中的其他组件。

答案 2 :(得分:2)

你可以尝试:

setVisible(false)

答案 3 :(得分:2)

这可能对您有所帮助

隐藏标签

l.setVisible(false);

通过将Label对象作为参数传递从父项中删除

panel.remove(l);

删除所有组件

panel.removeAll();

答案 4 :(得分:1)

应该使用hide()告诉setVisible()的javadoc。因此,请尝试拨打setVisible(false)

答案 5 :(得分:0)

我在项目中面临同样的问题。

您应该确保删除以前的控件并刷新面板。

请参阅此代码段:

panel.removeAll();  


panel.revalidate();  

希望这有助于你 所有最佳:)

答案 6 :(得分:0)

您必须使用方法getContentPane()。这种方式可以通过组件的声明名称删除元素。

private JFrame frame;
private JLabel label;
...

frame.getContentPane().remove(label);