6
下面是我一直在研究的代碼的模擬。在Java Swing中獲取組件的佈局約束條件
public class Pane {
private final JPanel pane;
private JPanel namePanel;
private final JTextField panIdField;
public Pane() {
pane = new JPanel();
pane.setLayout(new MigLayout("", "[][grow]", "[][][][][]"));
namePanel = new JPanel();
pane.add(namePanel, "cell 1 1,growx");
panIdField = new JTextField();
pane.add(panIdField, "cell 1 2,growx");
panIdField.setColumns(10);
}
public void replaceNameField(JPanel newNamePanel) {
this.namePanel = newNamePanel;
// Object constraintsForNamePanel =
pane.remove(namePanel);
pane.add(newNamePanel, constraintsForNamePanel);
}
}
容器有方法
public void add(Component comp, Object constraints)
有什麼辦法,我們可以通過編程讓我們設置constraints
,像getConstraints(...)
,使我們可以用它來以後使用?
在我的代碼中,我想用它來替換一箇舊的組件在同一個地方。
我有什麼後做
Object constraintsForNamePanel =
得到約束namePanel
。
目前,我使用
pane.add(newNamePanel, "cell 1 1,growx");
這是工作,但問題是我使用WindowsBuilder
的UI和我的UI是想改變我的時候添加新的組件到pane
和我不您想複製並粘貼約束。