У меня проблема с 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 настолько большие, насколько они могут. Я не могу ограничить этот размер. Вопрос в том, как установить, например, постоянную высоту для элемента?
Или, с другой стороны, какая функция вызывается при изменении размера окна? Мэйби, я могу переопределить эту функцию, получить размер родительского JPanel (его в JPanel), а затем установить размер в процентах? Что ты думаешь?
// проблема решена.
в пятой строке от нижнего изменения
.addGroup(layout.createParallelGroup()
для
.addGroup(layout.createParallelGroup(BASELINE)
спасибо всем за помощь.