java – GridBagLayout:如何防止不可见的组件崩溃
发布时间:2020-12-14 05:52:20 所属栏目:Java 来源:网络整理
导读:当使GridBagLayout管理的布局的各个组件不可见时,布局中其余组件的排列会不断变化. GridBagLayout似乎使用不可见组件“折叠”单元格,导致其他组件更改位置.这是一种非常烦人的行为,我一直在寻找一种方法来阻止它这样做. 我尝试过的一种方法是在相同的单元格
当使GridBagLayout管理的布局的各个组件不可见时,布局中其余组件的排列会不断变化. GridBagLayout似乎使用不可见组件“折叠”单元格,导致其他组件更改位置.这是一种非常烦人的行为,我一直在寻找一种方法来阻止它这样做.
我尝试过的一种方法是在相同的单元格中添加一个间隔符,其固定大小等于可能隐藏的组件的首选大小,但如果要改变的首选大小,则会遇到很多麻烦保持垫片同步. 实际上,如果GridBagLayout真的完全忽略了具有不可见组件的单元格,它就不会那么糟糕了,但它仍然考虑了单元格的插图,所以如果你有一个输入字段的布局并使用插图整齐地排列它们两者之间的间隙,然后隐藏中间的一个组件将其从布局中移除但留下间隙,这通常意味着周围的组件一起流动,但它们之间有一个丑陋的双宽间隙…… 解决方法
使用JPanel(或Box)作为占位符怎么样? 将JPanel放入每个单元格并将组件添加到面板中.如果你将组件看不见,面板应该仍然在那里……
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |