Java利用CardLayout布局管理器完成界面设计,添加三个命令按钮Jbutton,初始显示“第一张卡片”,当单击按钮时显示下一卡片,如下图所示。
时间: 2024-03-17 15:42:00 浏览: 18
好的,我会尽力回答。首先,我们可以使用以下代码实现此界面设计:
```java
import java.awt.CardLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class CardLayoutExample extends JFrame implements ActionListener {
private CardLayout cardLayout;
private JPanel cardPanel;
private JButton card1Button, card2Button, card3Button;
public CardLayoutExample() {
cardLayout = new CardLayout();
cardPanel = new JPanel(cardLayout);
// 创建三个面板,每个面板显示不同的卡片
JPanel card1 = new JPanel();
card1.add(new JButton("第一张卡片"));
JPanel card2 = new JPanel();
card2.add(new JButton("第二张卡片"));
JPanel card3 = new JPanel();
card3.add(new JButton("第三张卡片"));
// 将三个面板添加到卡片面板中
cardPanel.add(card1, "Card 1");
cardPanel.add(card2, "Card 2");
cardPanel.add(card3, "Card 3");
// 创建三个按钮,用于切换卡片
card1Button = new JButton("卡片1");
card1Button.addActionListener(this);
card2Button = new JButton("卡片2");
card2Button.addActionListener(this);
card3Button = new JButton("卡片3");
card3Button.addActionListener(this);
// 将按钮添加到主界面中
JPanel buttonPanel = new JPanel();
buttonPanel.add(card1Button);
buttonPanel.add(card2Button);
buttonPanel.add(card3Button);
// 将卡片面板和按钮面板添加到主界面中
add(cardPanel);
add(buttonPanel, "South");
setTitle("CardLayout Example");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == card1Button) {
cardLayout.show(cardPanel, "Card 1");
} else if (e.getSource() == card2Button) {
cardLayout.show(cardPanel, "Card 2");
} else if (e.getSource() == card3Button) {
cardLayout.show(cardPanel, "Card 3");
}
}
public static void main(String[] args) {
new CardLayoutExample();
}
}
```
运行此代码将显示一个带有三个按钮的窗口,单击按钮将切换卡片。希望这可以帮助到您!