我对GroupLayout有疑问。我的代码是:
public chat () {
JTextField chatbox;
JTextField msgbox;
JButton sendbutton;
GroupLayout layout;
super();
chatbox = new JTextField();
msgbox = new JTextField();
sendbutton = new JButton("Send");
layout = new GroupLayout(this);
sendbutton.setPreferredSize(new Dimension(60, 20));
setBackground(new Color(255, 255, 255));
setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setHorizontalGroup(layout.createParallelGroup()
.addComponent(chatbox)
.addGroup(layout.createSequentialGroup()
.addComponent(msgbox)
.addComponent(sendbutton))
);
layout.linkSize(SwingConstants.HORIZONTAL, sendbutton);
layout.setVerticalGroup(layout.createSequentialGroup()
.addComponent(chatbox)
.addGroup(layout.createParallelGroup()
.addComponent(msgbox)
.addComponent(sendbutton))
);
}
问题是 Layout 中的组件尽可能大。我不能限制这个大小。问题是,如何为项目设置例如恒定高度?
或者另一方面,调整窗口大小时调用哪个函数?我可以覆盖该函数,getSize 父 JPanel(它在 JPanel 中),然后根据百分比设置大小吗?你怎么看?
// 问题解决了。
在底部变化的第五行
.addGroup(layout.createParallelGroup()
为了
.addGroup(layout.createParallelGroup(BASELINE)
谢谢大家的帮助。