CardLayout 应 用 示 例: 功能描述: 本程序将当前JFrame 的 Center 区域设置为 CardLayout 布局, 然后每张卡片中添 加一个按钮, 在South 区域添加了4 个按钮, 分别 控制第一张、 上一张、 下一张、 最后一张卡片的按钮
时间: 2024-02-22 08:56:10 浏览: 59
CardLayout布局管理器示例
5星 · 资源好评率100%
好的,以下是 CardLayout 应用示例的代码:
```java
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class CardLayoutDemo extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JPanel cardPanel;
private JButton btnFirst, btnPrev, btnNext, btnLast;
public CardLayoutDemo() {
setTitle("CardLayout Demo");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
init();
pack();
setLocationRelativeTo(null);
setVisible(true);
}
private void init() {
Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
cardPanel = new JPanel(new CardLayout());
cardPanel.add(new JButton("Button 1"), "1");
cardPanel.add(new JButton("Button 2"), "2");
cardPanel.add(new JButton("Button 3"), "3");
cardPanel.add(new JButton("Button 4"), "4");
contentPane.add(cardPanel, BorderLayout.CENTER);
JPanel btnPanel = new JPanel();
btnFirst = new JButton("First");
btnFirst.addActionListener(this);
btnPanel.add(btnFirst);
btnPrev = new JButton("Prev");
btnPrev.addActionListener(this);
btnPanel.add(btnPrev);
btnNext = new JButton("Next");
btnNext.addActionListener(this);
btnPanel.add(btnNext);
btnLast = new JButton("Last");
btnLast.addActionListener(this);
btnPanel.add(btnLast);
contentPane.add(btnPanel, BorderLayout.SOUTH);
}
@Override
public void actionPerformed(ActionEvent e) {
CardLayout cardLayout = (CardLayout) cardPanel.getLayout();
if (e.getSource() == btnFirst) {
cardLayout.first(cardPanel);
} else if (e.getSource() == btnPrev) {
cardLayout.previous(cardPanel);
} else if (e.getSource() == btnNext) {
cardLayout.next(cardPanel);
} else if (e.getSource() == btnLast) {
cardLayout.last(cardPanel);
}
}
public static void main(String[] args) {
new CardLayoutDemo();
}
}
```
运行上述代码,你可以看到一个窗口,其中心区域是一个 CardLayout 布局,四个卡片中各有一个按钮。在窗口的底部区域,有四个按钮,分别是"First"、"Prev"、"Next"和"Last",用于控制当前卡片的切换。你可以点击这些按钮,切换卡片,看到每个卡片中的按钮都会依次显示。
阅读全文