JAVA CardLayout 应 用 示 例: 功能描述: 本程序将当前JFrame 的 Center 区域设置为 CardLayout 布局, 然后每张卡片中添 加一个按钮, 在South 区域添加了4 个按钮, 分别 控制第一张、 上一张、 下一张、 最后一张卡片的按钮。
时间: 2024-02-23 18:58:52 浏览: 63
好的,以下是一个简单的Java CardLayout应用示例:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CardLayoutExample extends JFrame implements ActionListener {
JPanel mainPanel;
CardLayout cardLayout;
JButton firstButton, prevButton, nextButton, lastButton;
public CardLayoutExample() {
setTitle("CardLayout Example");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
mainPanel = new JPanel();
cardLayout = new CardLayout();
mainPanel.setLayout(cardLayout);
// 添加三张卡片
JPanel card1 = new JPanel();
card1.add(new JButton("Button 1"));
mainPanel.add(card1, "Card 1");
JPanel card2 = new JPanel();
card2.add(new JButton("Button 2"));
mainPanel.add(card2, "Card 2");
JPanel card3 = new JPanel();
card3.add(new JButton("Button 3"));
mainPanel.add(card3, "Card 3");
// 添加控制按钮
JPanel controlPanel = new JPanel();
firstButton = new JButton("First");
prevButton = new JButton("Previous");
nextButton = new JButton("Next");
lastButton = new JButton("Last");
firstButton.addActionListener(this);
prevButton.addActionListener(this);
nextButton.addActionListener(this);
lastButton.addActionListener(this);
controlPanel.add(firstButton);
controlPanel.add(prevButton);
controlPanel.add(nextButton);
controlPanel.add(lastButton);
// 添加控制按钮和卡片面板到主面板
add(controlPanel, BorderLayout.SOUTH);
add(mainPanel, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == firstButton) {
cardLayout.first(mainPanel);
} else if (e.getSource() == prevButton) {
cardLayout.previous(mainPanel);
} else if (e.getSource() == nextButton) {
cardLayout.next(mainPanel);
} else if (e.getSource() == lastButton) {
cardLayout.last(mainPanel);
}
}
public static void main(String[] args) {
CardLayoutExample cardLayoutExample = new CardLayoutExample();
cardLayoutExample.setVisible(true);
}
}
```
这个示例程序创建了一个JFrame窗口,将窗口的中心区域设置为CardLayout布局,并在其中添加了三张卡片,每张卡片中都有一个按钮。在窗口的南部区域添加了4个按钮,分别控制卡片的切换。当点击控制按钮时,程序会调用CardLayout的first、previous、next和last方法来切换卡片。
阅读全文