swing作为一种用于创建图形用户界面的开发工具,具有丰富的布局管理器,可以帮助我们灵活地组织和布置组件。下面将介绍swing中常用的几种布局管理器,并提供相应的代码示例。
示例代码如下:
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); } }
示例代码如下:
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); } }
示例代码如下:
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); } }
示例代码如下:
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); } }
以上是swing中常用的几种布局管理器及相应的代码示例,可以根据实际需求选择合适的布局管理器来布置组件。同时,我们也可以通过继承自LayoutManager的方式自定义布局管理器来满足特殊的需求。
以上是一共有多少种swing布局?的详细内容。更多信息请关注PHP中文网其他相关文章!