CardLayout 類在 Java 中的重要性是什麼?
CardLayout 的功能以順序的方式排列元件,並且一次僅一個元件可見,每個元件將被視為一張卡片。
CardLayout
- CardLayout 與其他佈局不同,因為其他佈局管理器試圖一次在容器內顯示所有元件,而CardLayout 一次僅顯示一個元件。
- 在 CardLayout 中,卡片通常放置在容器中,例如 JPanel。元件以新增的順序放置在卡片佇列中。
- CardLayout 的重要方法為 first()、last()、next()、previous() 和 show()。
示例
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CardLayoutTest extends JFrame implements ActionListener { CardLayout card; JButton b1,b2,b3; Container con; CardLayoutTest() { con = this.getContentPane(); card = new CardLayout(40,30); con.setLayout(card); b1 = new JButton("Java"); b2 = new JButton("Python"); b3 = new JButton("Scala"); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); con.add("a", b1); con.add("b", b2); con.add("c", b3); } public void actionPerformed(ActionEvent e) { card.next(con); } public static void main(String[] args) { CardLayoutTest clt = new CardLayoutTest(); clt.setTitle("CardLayout Test"); clt.setSize(350, 275); clt.setLocationRelativeTo(null); clt.setDefaultCloseOperation(EXIT_ON_CLOSE); clt.setVisible(true); } }
在上述示例中,我們可以使用 CardLayout 管理器,在其中只會在視窗上顯示一個元件(Java)。當我們單擊視窗時,其餘元件(Python 和 Scala)將變為可見。
輸出
廣告