Вот что я пробовал:
JPanel p1 = new JPanel();
BoxLayout b1 = new BoxLayout(p1, BoxLayout.X_AXIS);
p1.setLayout(b1);
p1.add(new JButton("1"));
p1.add(Box.createHorizontalGlue());
p1.add(new JButton("1"));
И это работает очень хорошо. Кнопки находятся слева и справа
Но если я оберну его в JPanel
под управлением FlowLayout
, клей исчезнет.
//Flow Layout
JPanel jp = new JPanel();
//Box Layout
JPanel p1 = new JPanel();
BoxLayout b1 = new BoxLayout(p1, BoxLayout.X_AXIS);
p1.setLayout(b1);
p1.add(new JButton("1"));
p1.add(Box.createHorizontalGlue());
p1.add(new JButton("1"));
//put it into a JPanel with FlowLayout
jp.add(p1);
panel.add(jp);
Почему? Я думал, что клей такой же, как и любые другие компоненты, поэтому он не должен исчезать. Вот как это выглядит:
Кто-нибудь не может объяснить? Обратите внимание, что если я поставлю его в JPanel
с BoxLayout
, все будет в порядке.