我一直在使用GridBagLayout
,但是最近转向GroupLayout
。以下是我所拥有和需要的屏幕截图。然后是代码。
我需要更改什么?
我认为我应该使用TRAILING
和LEADING
常量,但是GUI没有响应。这可能是大多数SO建议人们避免使用GroupLayout
的原因吗?我以前使用过GridBagLayout
,它更复杂,而GroupLayout
的代码似乎更简单。这就是为什么要使用它。下面给出了我拥有的代码,我需要什么才能达到预期的效果?
public class GroupLayoutOne extends JFrame{
JLabel lbText = new JLabel("Text one");
JTextField txText = new JTextField();
JLabel lbText2 = new JLabel("Text two");
JTextField txText2 = new JTextField();
JPanel pnCompo = new JPanel();
public static void main(String[] args) {
GroupLayoutOne glx = new GroupLayoutOne();
glx.init();
glx.setVisible(true);
glx.setSize(new Dimension(400,200));
glx.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init(){
GroupLayout gl = new GroupLayout(getContentPane());
this.getContentPane().setLayout(gl);
pnCompo.setPreferredSize(new Dimension(300,300));
pnCompo.setBorder(BorderFactory.createTitledBorder("More Components"));
gl.setHorizontalGroup(gl.createSequentialGroup()
.addGroup(gl.createParallelGroup()
.addComponent(lbText)
.addComponent(lbText2)
.addComponent(pnCompo)
)
.addGroup(gl.createParallelGroup()
.addComponent(txText)
.addComponent(txText2)
)
);
gl.setVerticalGroup(gl.createSequentialGroup()
.addGroup(gl.createParallelGroup()
.addComponent(lbText)
.addComponent(txText)
)
.addGroup(gl.createParallelGroup()
.addComponent(lbText2)
.addComponent(txText2)
)
.addComponent(pnCompo)
);
pack();
}
}