Java MigLayout:使用LayoutManager在嵌套面板中设置相等的列宽
我有嵌套的面板,每个面板使用一个 具有两行布局的外部面板。每行包含一个具有以下定义的嵌套面板(上部和下部):Java MigLayout:使用LayoutManager在嵌套面板中设置相等的列宽,java,swing,miglayout,Java,Swing,Miglayout,我有嵌套的面板,每个面板使用一个 具有两行布局的外部面板。每行包含一个具有以下定义的嵌套面板(上部和下部): JPanel upper=新的JPanel();//外部组件 添加(上部,“单元格0,增长”);//“单元格0 1,生长”-用于较低的 setLayout(新的MigLayout(“,”[[grow],“[])”); 这是示意图: +----------------+---------------------------+ | |upper c
JPanel upper=新的JPanel();//外部组件
添加(上部,“单元格0,增长”);//“单元格0 1,生长”-用于较低的
setLayout(新的MigLayout(“,”[[grow],“[])”);
这是示意图:
+----------------+---------------------------+
| |upper column 1 size |
| v |
| +-------------+-------------------+ |
| | | | |
| | label1 | textfield1 |upper |
| | | | |
| +-------------+-------------------+ |
| | | outer
| +-------------v------+------------+ |
| | | | |
| | label2 - (longer) | textfield2 | lower |
| | | | |
| +--------------------+------------+ |
| ^ |
| |lower column 1 size |
+--------------------------------------------+
label2的文本比label1的文本长。这是它的样子
我希望文本字段的右边框对齐,尽管它们位于不同的面板中(使用单独的布局管理器)
我尝试将sizegroup设置为两个列定义,但这并没有导致更改。这在某种程度上是有道理的,因为他们彼此都不认识。(见附件)
如何在不将尺寸硬编码到面板中的情况下,使上面板和下面板的第一列具有相同的宽度?
我不想更改所有这些列定义并硬编码(相同)固定宽度。嵌套面板应该保持独立,因为它们是我们可以重用的UI组件。简单评论一下:如果有任何方法可以避免嵌套,一般是不嵌套的-即使mig也无法处理跨组件布局Hanks,我也有这样的印象。这是否意味着重用GUI“layouted”组件实际上是不可行的?@Behe,只是想知道:您解决了这个问题吗?以防万一,我提出了一个问题,即GitHub问题:@VladimirSitnikov,我不记得了:-(