Ответ 1
Самый простой способ найти объекты слева - использовать FlowLayout.
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
добавление компонента, обычно к этой панели, поместит его слева.
Я хотел бы, чтобы все элементы в моем JPanel были выровнены влево. Я пытаюсь сделать это следующим образом:
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.setAlignmentX(Component.LEFT_ALIGNMENT);
В результате Java использует левую часть всех элементов как позицию элемента, а затем помещает все элементы в центр (не левую часть) JPanel.
Самый простой способ найти объекты слева - использовать FlowLayout.
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
добавление компонента, обычно к этой панели, поместит его слева.
Вы должны использовать setAlignmentX(..)
для компонентов, которые хотите выровнять, а не в контейнере, в котором они есть.
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(c1);
panel.add(c2);
c1.setAlignmentX(Component.LEFT_ALIGNMENT);
c2.setAlignmentX(Component.LEFT_ALIGNMENT);
Моим любимым методом использования будет метод BorderLayout. Вот пять примеров с каждой позицией, в которую может войти компонент. Например, если компонент был кнопкой. Мы добавим его в JPanel, p. Кнопка будет называться b.
//To align it to the left
p.add(b, BorderLayout.WEST);
//To align it to the right
p.add(b, BorderLayout.EAST);
//To align it at the top
p.add(b, BorderLayout.NORTH);
//To align it to the bottom
p.add(b, BorderLayout.SOUTH);
//To align it to the center
p.add(b, BorderLayout.CENTER);
Не забудьте также импортировать его, набрав:
import java.awt.BorderLayout;
В классе BorderLayout есть и другие методы, связанные с такими вещами, как ориентация, но вы можете сделать свое собственное исследование, если вам это интересно. Надеюсь, это помогло!