boxlayout бывает двух видов: горизонтальная и вертикальная. Горизонтальное место расположения компонентов слева направо в сосуде и вертикальная планировка размещает компоненты сверху кнопку. В отличие от GridLayout, boxlayout позволяет компонентам занимать различное количество пространства.
В этом примере кода показано, как использовать boxlayout в вертикального типа. Он организует четыре кнопки в вертикальную колонку.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import java.awt.Component; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.WindowConstants; public class BoxLayoutExp extends JFrame { public BoxLayoutExp() { setTitle("Box Layout Example"); setSize(150, 150); getContentPane().setLayout( new BoxLayout(getContentPane(), BoxLayout.Y_AXIS)); JButton btn1 = new JButton("Button 1"); JButton btn2 = new JButton("Button 2"); JButton btn3 = new JButton("Button 3"); JButton btn4 = new JButton("Button 4"); getContentPane().add(btn1); getContentPane().add(btn2); btn1.setAlignmentX(Component.CENTER_ALIGNMENT); getContentPane().add(btn3); getContentPane().add(btn4); } public static void main(String[] args) { BoxLayoutExp ble = new BoxLayoutExp(); ble.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); ble.setVisible(true); } } |