首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swing -在setVisible(false)之后保留空格

Swing -在setVisible(false)之后保留空格
EN

Stack Overflow用户
提问于 2019-06-02 20:20:23
回答 2查看 391关注 0票数 -3

我有一个外部JPanel,其中包含内部面板的列表。我的布局是GridLayout

在某些情况下,我想看不见我的一些内部面板。问题是,在我对一些内部面板执行setVisible(false)后,它们确实消失了,但它们之前占用的空间仍然存在,并且不会被抹去,因此它会创建空白。

如何删除这些空格,并使所有可见的内部面板一个接一个地排序,而它们之间没有任何空格?

代码语言:javascript
运行
复制
outerPanel.setLayout(new GridLayout(4, 1));
outerPanel.add(pnl1);
outerPanel.add(pnl2);
outerPanel.add(pnl3);
outerPanel.add(pnl4);

private void invisibleSome(){
 Component[] cmpts = outerPanel.getComponents();
   for(int i = 0; i< cmpts.length; i++){
       //this make some components invisible 
       //but their white space still remains
       cmpts[i].setVisible(i%2 == 0);
   }
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56414955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档