cardLayout如何切换JPanel
时间: 2023-07-18 07:15:38 浏览: 83
要使用 CardLayout 切换 JPanel,可以按照以下步骤进行操作:
1. 创建一个 JPanel 用于存放所有需要切换的 JPanel。
2. 创建一个 CardLayout 对象,并将其设置为该 JPanel 的布局管理器。
3. 将需要切换的 JPanel 添加到该 JPanel 中,并为每个 JPanel 指定一个唯一的名称。
4. 使用 CardLayout 的 show() 方法来显示需要显示的 JPanel,该方法需要传入该 JPanel 和需要显示的 JPanel 的名称。
以下是一个简单的示例代码,演示了如何使用 CardLayout 切换 JPanel:
```
import java.awt.*;
import javax.swing.*;
public class CardLayoutDemo extends JFrame {
JPanel cards; // 用于存放所有需要切换的 JPanel
final static String PANEL_1 = "Panel 1"; // JPanel 的名称
final static String PANEL_2 = "Panel 2";
public CardLayoutDemo() {
// 创建需要切换的 JPanel
JPanel card1 = new JPanel();
card1.add(new JLabel("This is Panel 1"));
JPanel card2 = new JPanel();
card2.add(new JLabel("This is Panel 2"));
// 创建一个 JPanel 用于存放所有需要切换的 JPanel
cards = new JPanel(new CardLayout());
cards.add(card1, PANEL_1);
cards.add(card2, PANEL_2);
// 添加到 JFrame 中
add(cards, BorderLayout.CENTER);
// 切换到 Panel 1
CardLayout cl = (CardLayout)(cards.getLayout());
cl.show(cards, PANEL_1);
}
public static void main(String[] args) {
CardLayoutDemo demo = new CardLayoutDemo();
demo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
demo.setSize(400, 300);
demo.setVisible(true);
}
}
```
在上面的示例中,我们创建了两个 JPanel,并将它们添加到一个 JPanel 中。然后我们使用 CardLayout 的 show() 方法来显示需要显示的 JPanel。在这个例子中,我们默认显示了 Panel 1。
阅读全文