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中文網其他相關文章!