Java中在应用程序中使用卡片布局
时间: 2024-02-24 08:58:15 浏览: 86
卡片布局(CardLayout)是Java中常用的一种布局方式,它可以将多个组件按照层次结构进行排列,只显示当前层次的组件,其他组件被隐藏。下面是在Java应用程序中使用卡片布局的示例代码:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CardLayoutDemo extends JFrame implements ActionListener {
JPanel cards;
final static String BUTTONPANEL = "Button Panel";
final static String TEXTPANEL = "Text Panel";
public CardLayoutDemo() {
setTitle("CardLayout Demo");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建两个面板
JPanel card1 = new JPanel();
card1.add(new JButton("Button 1"));
card1.add(new JButton("Button 2"));
card1.add(new JButton("Button 3"));
JPanel card2 = new JPanel();
card2.add(new JTextField("TextField", 20));
// 创建卡片布局并添加面板
cards = new JPanel(new CardLayout());
cards.add(card1, BUTTONPANEL);
cards.add(card2, TEXTPANEL);
// 添加切换按钮
JButton button = new JButton("Switch Card");
button.addActionListener(this);
// 添加面板和按钮到窗口中
getContentPane().add(cards, BorderLayout.CENTER);
getContentPane().add(button, BorderLayout.SOUTH);
pack();
setVisible(true);
}
// 切换面板
public void actionPerformed(ActionEvent evt) {
CardLayout cl = (CardLayout)(cards.getLayout());
cl.next(cards);
}
public static void main(String[] args) {
new CardLayoutDemo();
}
}
```
在这个示例中,我们创建了两个面板(`card1`和`card2`),并通过`CardLayout`将它们添加到一个容器`cards`中。然后我们在窗口中添加了一个切换按钮,当用户点击这个按钮时,会调用`actionPerformed`方法来切换面板。
阅读全文