我正在尝试创建一个可以根据事件动态插入组件的面板。该面板是基于行的,每行可变数量的组件。但是,在现有插件之间插入组件时遇到问题。有没有办法在MigLayout中插入“单元格”?
例如,如果我有如下的布局(线表示MigLayout细胞):
+----+----+----+
| X1 | X2 | X3 |
+----+----+----+----+
| Y1 | Y2 | Y3 | Y4 |
+----+----+----+----+
是否有可能创建行X和Y之间的细胞,以获得:
+----+----+----+
| X1 | X2 | X3 |
+----+----+----+
| Z1 |
+----+----+----+----+
| Y1 | Y2 | Y3 | Y4 |
+----+----+----+----+
我尝试content.add(component, "cell 1 0, wrap");
,但它将组件插入到Y1
单元中。
我到目前为止唯一的解决方案是致电content.add(component, "wrap", index);
。但是,这要求我知道前面组件的总数。
我有再次中继所有组件的问题是,当部件被删除并重新添加可滚动区的视图转变。我似乎无法找到一种可靠的方法来回滚到相同的可见边界。 – 2010-12-17 10:13:57
我发现你可以通过保存视图矩形的值来做到这一点,例如Rectangle savedViewport = pane.getViewport()。getViewRect();.稍后可以通过调用text.scrollRectToVisible(savedViewport)来加载它; (在这种情况下,'text'是一个JTextArea,它是窗格内的组件)。 – BoffinbraiN 2010-12-17 13:02:29