gpt4 book ai didi

java - 如何使用 CardLayout 显示下一个卡片项目?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:56:28 27 4
gpt4 key购买 nike

我创建了一个类,它有一个名为 cards 的面板,其布局为 CardLAyout。我添加了卡片项目。在这个类中,我想通过调用布局切换到下一张卡片来创建一个单独的方法。

import java.awt.CardLayout;
import java.awt.Container;


public class cards
{
public Container cards;

//creating objects for other classes
public cricGUI gu;
public cricMainMenu mm;

public void cardsList()
{
cards = new Container();
cards.setLayout(new CardLayout());

//adding panels and contentPanes from other classes.
mm = new cricMainMenu();
gu = new cricGUI();

cards.add(mm.contentPane);
cards.add(gu.pane);
}
public void getNextCard(Container x)
{

}

如您所见,我在卡片中添加了其他类(class)的面板。我想要做的是创建 getNextCard() 方法,该方法将当前 Activity 的面板作为其参数。当我调用此函数时,它应该将当前 Activity 的面板与我的 CardLayout 列表中的下一个面板切换。我怎样才能做到这一点?谢谢

最佳答案

您可能想看看 How to use CardLayout .

基本原则是,每张卡片都有自己的标识符(通常是字符串常量)。要切换到特定的卡,您可以调用

layout.show( container, identifier );

要实现类似 getNextCard() 的方法(更好的名称可能是 switchToNextCard( container, identifier )),例如,您可以使用简单的 switch case 构造,例如:

public void switchToNextCard( Panel container, String currentCard )
{
switch ( currentCard )
{
case CARD1:
layout.show( container, CARD2 );
break;
case CARD2:
layout.show( container, CARD1 );
break;
default :
throw IllegalArgumentException("Unsupported CardIdentifier.")
break;
}
}

在此方法中,CARD1 和 CARD2 是卡片布局中面板的标识符(字符串常量)。在这种情况下,它会在这两张卡片之间来回切换。

关于java - 如何使用 CardLayout 显示下一个卡片项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11743505/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com