Program to combine BorderLayout, GridLayout and FlowLayout in Java Swing?
在这里,我们使用BorderLayout,GridLayout和FlowLayout设置了面板。 在面板中,我们创建了一些组件,例如Button,ComboBox等。以下是在Java中组合布局的示例-
例
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 35 36 37 38 39 40 41 42 43 44 | package my; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JPanel; public class SwingDemo { public static void main(String[] args) { JButton btnA = new JButton("Button1 (Left)"); JButton btnB = new JButton("Button2 (Right)"); JButton btnC = new JButton("Button3 (Left)"); JButton btnD = new JButton("Button4 (Right)"); btnA.setPreferredSize(new Dimension(150, 20)); btnB.setPreferredSize(new Dimension(150, 20)); btnC.setPreferredSize(new Dimension(150, 20)); btnD.setPreferredSize(new Dimension(150, 20)); JPanel btnAPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); JPanel btnBPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); JPanel btnCPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); JPanel btnDPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); btnAPanel.add(btnA); btnBPanel.add(btnB); btnCPanel.add(btnC); btnDPanel.add(btnD); JPanel panelGrid = new JPanel(new GridLayout(10, 5, 10, 10)); panelGrid.add(new JCheckBox("Demo CheckBox1")); panelGrid.add(new JCheckBox("Demo CheckBox2")); panelGrid.add(btnAPanel); panelGrid.add(btnBPanel); panelGrid.add(btnCPanel); panelGrid.add(btnDPanel); JPanel panelBrdLayout = new JPanel(new BorderLayout()); panelBrdLayout.add(panelGrid, BorderLayout.SOUTH); panelBrdLayout.setPreferredSize(new Dimension(550, 300)); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(panelBrdLayout); frame.setSize(550, 400); frame.setVisible(true); } } |
输出量