Я хочу создать вертикальное пространство между JLabels. Это мой код:Создание вертикального пространства между JLabels не так, как ожидалось
JPanel label = new JPanel(new FlowLayout(FlowLayout.LEFT));
label.add(Box.createVerticalStrut(50));
label.add(label1);
label.add(Box.createHorizontalStrut(50));
label.add(label2);
label.add(Box.createVerticalStrut(50));
label.add(label3);
label.add(Box.createHorizontalStrut(50));
label.add(label4);
Я хочу иметь равное вертикальное пространство между каждым JLabel
, однако, становится странно, когда я настроить Box.createHorizontalStrut(50)
Кто-нибудь знает почему? FlowLayout выполняется для размещения JLabels слева от панели. В соответствии с этим я хочу разместить некоторые из JLabels в центре (следовательно, горизонтальное движение), есть ли другой способ сделать это с помощью FlowLayout
?
Спасибо.
Распределение потока не является лучшим выбором для этого. Если ваши потребности просты, попробуйте BoxLayout или GridLayout. (Я также предлагаю вам пометить это сообщение 'Swing', чтобы получить нужные люди, чтобы увидеть его.) – Enwired
Случай usloall для' FlowLayout' заключается в размещении ваших компонентов в строке. Используйте «GridBagLayout» для максимальной настройки. Также вы можете использовать некоторые нестандартные макеты. Например [Макет MIG] (http://www.miglayout.com/) или [Форма макета] (http://manual.openestate.org/extern/forms-1.2.1/tutorial/quickstart.html) –