繁体   English   中英

如何隐藏或删除JLabel

[英]How to Hide or remove a JLabel

我已经宣布了一个JLable如下;

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

现在,我想隐藏或删除它。 应该叫什么方法?

我试过l.removeAll(); <---什么都没有。

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

还有一些叫做hide()东西。 但是它被弃用了。

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

你需要调用remove JLabel添加到的JPanel

panel.remove(l);

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

只是隐藏而不是删除电话

l.setVisible(false);

尝试panel.remove(l);

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

你可以试试:

setVisible(false)

这可能对你有所帮助

隐藏标签

l.setVisible(false);

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

panel.remove(l);

删除所有组件

panel.removeAll();

hide()的javadoc告诉应该使用setVisible() 所以尝试调用setVisible(false)

我在项目中遇到了同样的问题。

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

看到这个代码段:

panel.removeAll();  


panel.revalidate();  

希望这有助于你所有的最好:)

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

private JFrame frame;
private JLabel label;
...

frame.getContentPane().remove(label);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM