Swing, as a development tool for creating graphical user interfaces, has a rich layout manager that can help us flexibly organize and arrange components. The following will introduce several commonly used layout managers in swing and provide corresponding code examples.
The sample code is as follows:
import javax.swing.*; public class BorderLayoutExample { public static void main(String[] args) { JFrame frame = new JFrame("BorderLayout Example"); frame.setLayout(new BorderLayout()); JButton btnNorth = new JButton("North"); JButton btnSouth = new JButton("South"); JButton btnEast = new JButton("East"); JButton btnWest = new JButton("West"); JButton btnCenter = new JButton("Center"); frame.add(btnNorth, BorderLayout.NORTH); frame.add(btnSouth, BorderLayout.SOUTH); frame.add(btnEast, BorderLayout.EAST); frame.add(btnWest, BorderLayout.WEST); frame.add(btnCenter, BorderLayout.CENTER); frame.setSize(300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
The sample code is as follows:
import javax.swing.*; public class FlowLayoutExample { public static void main(String[] args) { JFrame frame = new JFrame("FlowLayout Example"); frame.setLayout(new FlowLayout()); JButton btn1 = new JButton("Button 1"); JButton btn2 = new JButton("Button 2"); JButton btn3 = new JButton("Button 3"); JButton btn4 = new JButton("Button 4"); frame.add(btn1); frame.add(btn2); frame.add(btn3); frame.add(btn4); frame.setSize(300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
The sample code is as follows:
import javax.swing.*; public class GridLayoutExample { public static void main(String[] args) { JFrame frame = new JFrame("GridLayout Example"); frame.setLayout(new GridLayout(3, 3)); for (int i = 1; i <= 9; i++) { JButton btn = new JButton("Button " + i); frame.add(btn); } frame.setSize(300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
The sample code is as follows:
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class CardLayoutExample { public static void main(String[] args) { JFrame frame = new JFrame("CardLayout Example"); frame.setLayout(new CardLayout()); JButton btn1 = new JButton("Card 1"); JButton btn2 = new JButton("Card 2"); JButton btn3 = new JButton("Card 3"); frame.add(btn1, "Card 1"); frame.add(btn2, "Card 2"); frame.add(btn3, "Card 3"); btn1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { CardLayout cl = (CardLayout) frame.getContentPane().getLayout(); cl.show(frame.getContentPane(), "Card 2"); } }); btn2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { CardLayout cl = (CardLayout) frame.getContentPane().getLayout(); cl.show(frame.getContentPane(), "Card 3"); } }); btn3.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { CardLayout cl = (CardLayout) frame.getContentPane().getLayout(); cl.show(frame.getContentPane(), "Card 1"); } }); frame.setSize(300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
The above are several layout managers commonly used in swing and corresponding code examples. You can choose the appropriate layout manager to arrange components according to actual needs. . At the same time, we can also customize the layout manager to meet special needs by inheriting from LayoutManager.
The above is the detailed content of How many swing layouts are there in total?. For more information, please follow other related articles on the PHP Chinese website!