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)將變為可見。

輸出


更新於:2020-02-07

133 次檢視

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告