swing增加或移除控件失效

来源:互联网 发布:英国黑暗料理 知乎 编辑:程序博客网 时间:2024/05/21 08:09

有以下原因:
1、没有设置可见,即没有调用setVisiable(true)
2、在容器增加控件时,没有对容器调用validate()方法
validate()方法:可以重新确认该容器及其子控件。
3、控件被其他控件覆盖,这个调整控件的大小及其位置即可。
4、在容器增加控件的时候,需要对容器调用repaint()方法,实现对容器的重绘。有时候,我们鼠标经过某个位置,控件才会显示,也可以调用repaint()方法解决问题。我们如果把窗口最小化再最大化,控件就显示了,是因为最大化的时候,系统对控件、容器进行了重绘。
5、在容器移除某控件【或者移除所有控件的时候】,需要调用remove(Component)、repaint()、updateUI()方法。即可实现想要的效果。

补充:如果不确定容器增加了控件,我们可以在控制台输出容器的子控件数【调用getComponentCount()方法】

1 0
原创粉丝点击