使用Miglayout缩放JPanels

问题描述 投票:0回答:1

我有一个大的JPanel,可以将0-4个JPanels作为行添加到其中。我的目标是使添加的面板比例达到要添加到的大型面板的大小(取决于存在的面板数量)1个面板=面板的100%2个小组=每个小组的50%3个小组=每个小组的33%我讨厌的解决方案是将大面板分成12组固定的行/单元格(可被3&4整除)

setLayout(new MigLayout("","[100%]","[8.3%][8.3%][8.3%][8.3%][8.3%][8.3%][8.3%][8.3%][8.3%][8.3%][8.3%][8.3%]")); 

然后根据要添加的面板数来缩放其范围

if(count == 1){
 add(panel1, "cell 0 0, span 1 12, grow");
}
else if (count == 2){
add(panel1, "cell 0 0, span 1 6, grow");
add(panel2, "cell 0 6, span 1 6, grow");
...
...

这有效...但是非常难看,我敢肯定必须有一种更简单的方法。

java swing layout-manager miglayout
1个回答
0
投票

我正在打开GridLayout,但不确定如何实现。

什至不知道如何使用JDK中提供的基本布局管理器,为什么还要使用MigLayout?

没有技巧。创建面板,设置布局并将组件添加到面板中。

JPanel parent = new JPanel( new GridLayout(0, 1) );
parent.add(child1);
parent.add(child2);
,,,

阅读Layout Managers上的Swing教程,了解所有标准布局管理器的基础。

© www.soinside.com 2019 - 2024. All rights reserved.