在运行时更改FormLayout对齐方式

时间:2012-03-05 17:58:14

标签: java swing jgoodies form-layout

有没有办法使用JGoodies FormLayout更改组件设置后的对齐方式?

例如,

CellConstraints cc = new CellCosntraints();
panel.add(component,cc.xy(1,1,CellConstraints.DEFAULT,CellConstraints.FILL));

如果我想将component更改为DEFAULT的行约束而不是FILL,是否有办法在不删除和重新添加组件的情况下设置它?

2 个答案:

答案 0 :(得分:5)

看起来你可以:

FormLayout l = new FormLayout();
...
l.setContraints(component, newconstraints);

然后可能在容器上执行revalidate()来更新内容。

答案 1 :(得分:0)

有两种方法(@Jim +1表示方向正确)

1)在容器内填充可用的Dimension而不调整容器的大小

revalidate() //covered validate()
repaint() // required in some cases for JLabel, JTextComponents, JScrollPane ...

2)在容器内填充可用的Dimension,并为容器调整大小

pack();

this code can help you