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)将变为可见。
输出
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP