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 次查看

开启您的 职业生涯

完成课程以获得认证

开始
广告
© . All rights reserved.