Java 如何使用卡片布局?

Java 如何使用卡片布局?,java,command-line,cardlayout,Java,Command Line,Cardlayout,我很难弄清楚什么是卡片布局。我读了很多文章,并实现了这个小示例,以了解卡片布局是如何工作的。但是我不能理解一些方法(有注释)。有人能帮我吗(我使用命令行) import java.util.*; 导入java.awt.*; 导入java.awt.event.*; 导入javax.swing.*; 类C_布局实现ActionListener { 按钮b2; 按钮b1; jf1帧; JPanel card1; JPanel card2; JPanel Jp,; void示例() { f1=新JFra

我很难弄清楚什么是卡片布局。我读了很多文章,并实现了这个小示例,以了解卡片布局是如何工作的。但是我不能理解一些方法(有注释)。有人能帮我吗(我使用命令行)

import java.util.*;
导入java.awt.*;
导入java.awt.event.*;
导入javax.swing.*;
类C_布局实现ActionListener
{
按钮b2;
按钮b1;
jf1帧;
JPanel card1;
JPanel card2;
JPanel Jp,;
void示例()
{
f1=新JFrame(“卡片布局练习”);
f1.setLocationRelativeTo(空);
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.设置尺寸(500500);
f1.setVisible(真);
容器cont=f1.getContentPane();
cont.setLayout(空);
Jp=new-JPanel(new-cardplayout());//
cont.setLayout(null);
不好,不好的主意,快速丢失它

您需要一个对
CardLayout
的引用来管理它。首先定义
CardLayout
的实例字段

private  CardLayout cardLayout;
现在,创建您的
CardLayout
实例,并将其应用于您的面板

cardLayout = new CardLayout();
Jp=new JPanel(cardLayout);
这个

Jp.setLayout //<-- Not sure what means here ERROR
现在,在您的
ActionListener
中,您想让
CardLayout
显示所需的视图

public void actionPerformed(ActionEvent e)
{
    if(e.getSource()==b1)
    {
        cardLayout.show(Jp1,"card2");
    } else if(e.getSource()==b2)
    {
        cardLayout.show(Jp1,"card1");
    }
}
注意,为了使
CardLayout#show
正常工作,您需要为其设置一个指定
CardLayout
的容器的引用以及要显示的视图名称的速度

有关更多详细信息,请参见

cont.setLayout(null);
不好,主意不好,请快速将其丢失

您需要一个对
CardLayout
的引用来管理它。首先定义
CardLayout
的实例字段

private  CardLayout cardLayout;
现在,创建您的
CardLayout
实例,并将其应用于您的面板

cardLayout = new CardLayout();
Jp=new JPanel(cardLayout);
这个

Jp.setLayout //<-- Not sure what means here ERROR
现在,在您的
ActionListener
中,您想让
CardLayout
显示所需的视图

public void actionPerformed(ActionEvent e)
{
    if(e.getSource()==b1)
    {
        cardLayout.show(Jp1,"card2");
    } else if(e.getSource()==b2)
    {
        cardLayout.show(Jp1,"card1");
    }
}
注意,为了使
CardLayout#show
正常工作,您需要为其设置一个指定
CardLayout
的容器的引用以及要显示的视图名称的速度

有关更多详细信息,请参见

cont.setLayout(null);
不好,主意不好,请快速将其丢失

您需要一个对
CardLayout
的引用来管理它。首先定义
CardLayout
的实例字段

private  CardLayout cardLayout;
现在,创建您的
CardLayout
实例,并将其应用于您的面板

cardLayout = new CardLayout();
Jp=new JPanel(cardLayout);
这个

Jp.setLayout //<-- Not sure what means here ERROR
现在,在您的
ActionListener
中,您想让
CardLayout
显示所需的视图

public void actionPerformed(ActionEvent e)
{
    if(e.getSource()==b1)
    {
        cardLayout.show(Jp1,"card2");
    } else if(e.getSource()==b2)
    {
        cardLayout.show(Jp1,"card1");
    }
}
注意,为了使
CardLayout#show
正常工作,您需要为其设置一个指定
CardLayout
的容器的引用以及要显示的视图名称的速度

有关更多详细信息,请参见

cont.setLayout(null);
不好,主意不好,请快速将其丢失

您需要一个对
CardLayout
的引用来管理它。首先定义
CardLayout
的实例字段

private  CardLayout cardLayout;
现在,创建您的
CardLayout
实例,并将其应用于您的面板

cardLayout = new CardLayout();
Jp=new JPanel(cardLayout);
这个

Jp.setLayout //<-- Not sure what means here ERROR
现在,在您的
ActionListener
中,您想让
CardLayout
显示所需的视图

public void actionPerformed(ActionEvent e)
{
    if(e.getSource()==b1)
    {
        cardLayout.show(Jp1,"card2");
    } else if(e.getSource()==b2)
    {
        cardLayout.show(Jp1,"card1");
    }
}
注意,为了使
CardLayout#show
正常工作,您需要为其设置一个指定
CardLayout
的容器的引用以及要显示的视图名称的速度


有关更多详细信息,请参见

您能否用一个示例进一步解释如何显示框架,它给了我一个空白框架。我不了解卡片布局#show我需要一些帮助。谢谢,我需要睡眠;)。使用空布局是您的第一个问题,您不向任何内容添加Jp似乎是您的问题Msorry这里阳光明媚。再次感谢您的帮助:)您能用一个例子进一步解释一下如何显示框架吗,它给了我一个空白框架。我不懂卡片布局#show我需要一些帮助请注意。谢谢,我需要睡眠;)。使用空布局是您的第一个问题,而且您没有添加Jp to任何事情似乎都是你的问题,这里阳光明媚。再次感谢你的帮助:)你能用一个例子再解释一下如何显示框架吗,它给了我一个空白框架。我不懂卡片布局#show我需要一点帮助请注意这一点。谢谢你,我需要睡眠;)。使用空布局是你的第一个问题你没有在任何东西上添加Jp的事实似乎是你的问题,这里阳光灿烂。再次感谢你的帮助:)你能用一个例子解释一下如何显示框架吗,它给了我一个空白框架。我不理解卡片布局#show我需要一点帮助请注意这一点。谢谢你,我需要睡眠;)。空框的使用布局是您的第一个问题,而您不向任何内容添加Jp这一事实似乎是您的问题所在。这里阳光灿烂。再次感谢您的帮助:)