1. (简答题) 7-4CardLayout 应 用 示 例: 功能描述: 本程序将当前JFrame 的 Center 区域设置为 CardLayout 布局, 然后每张卡片中添 加一个按钮, 在South 区域添加了4 个按钮, 分别 控制第一张、 上一张、 下一张、 最后一张卡片的按钮
时间: 2024-02-22 13:56:21 浏览: 144
java布局管理之CardLayout简单实例
以下是一个简单的 7-4CardLayout 应用示例,实现了以上功能描述:
```java
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
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 JPanel panel;
private JButton firstBtn, prevBtn, nextBtn, lastBtn;
public CardLayoutDemo() {
super("CardLayout Demo");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
panel = new JPanel(new CardLayout());
// 添加卡片
panel.add(new JButton("Card 1"), "1");
panel.add(new JButton("Card 2"), "2");
panel.add(new JButton("Card 3"), "3");
panel.add(new JButton("Card 4"), "4");
// 添加控制按钮
firstBtn = new JButton("First");
firstBtn.addActionListener(this);
prevBtn = new JButton("Previous");
prevBtn.addActionListener(this);
nextBtn = new JButton("Next");
nextBtn.addActionListener(this);
lastBtn = new JButton("Last");
lastBtn.addActionListener(this);
JPanel btnPanel = new JPanel();
btnPanel.add(firstBtn);
btnPanel.add(prevBtn);
btnPanel.add(nextBtn);
btnPanel.add(lastBtn);
getContentPane().add(panel, BorderLayout.CENTER);
getContentPane().add(btnPanel, BorderLayout.SOUTH);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
CardLayout layout = (CardLayout) panel.getLayout();
if (e.getSource() == firstBtn) {
layout.first(panel);
} else if (e.getSource() == prevBtn) {
layout.previous(panel);
} else if (e.getSource() == nextBtn) {
layout.next(panel);
} else if (e.getSource() == lastBtn) {
layout.last(panel);
}
}
public static void main(String[] args) {
new CardLayoutDemo();
}
}
```
运行程序,你可以看到一个界面,中间是四个按钮,底部有四个控制按钮。点击控制按钮可以控制卡片切换。
阅读全文