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))
);
}
そして問題は、レイアウトのコンポーネントが可能な限り大きいことです。このサイズを制限することはできません。問題は、たとえばアイテムの一定の高さを設定する方法です。
または、ウィンドウのサイズが変更されたときに呼び出される関数はどれですか? Maby はその関数、親 JPanel の getSize (JPanel 内) をオーバーライドし、パーセンテージに基づいてサイズを設定できますか? どう思いますか?
// 問題が解決しました。
下から 5 行目で変更
.addGroup(layout.createParallelGroup()
為に
.addGroup(layout.createParallelGroup(BASELINE)
助けてくれてありがとう。