问题标签 [cardlayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1491 浏览

java - CardLayout 与手动添加/删除 JPanel 有什么特别之处?

在 StackOverflow 上有很多次用户问这样的问题......

我有一个JPanel包含 child的 main JPanel。当用户单击一个按钮时,孩子JPanel应该更改为不同的JPanel. 我怎样才能做到这一点。

很多时候,用户实际上已经尝试过实现这个问题,但不能让它工作。

每当我回答这个问题时,我都会告诉他们做这样的事情(简单地说)......

我认为这是一个相当合理的答案,而且我个人在我自己的许多 Java 项目中都使用过它,没有任何问题。但是,我的回答总是遭到反对,每个人都只是说“使用 a CardLayout”。

所以我的问题是,为什么每个人都如此着迷CardLayout,以至于我的回答值得一票否决?为什么我应该选择使用 aCardLayout而不是使用上面的代码添加/删除面板?

作为另一个问题,您是否仍然建议CardLayout使用具有动态 JPanel 的接口。例如,我的大多数程序都实现了一个自定义插件框架,其中可能有数百个JPanels,但我只加载和显示实际需要的面板。对于程序的正常使用,大多数面板实际上永远不会被加载或需要。对于这种类型的场景,我的编码方法会是最好的解决方案吗?据我所知,CardLayout这需要我实际创建所有的,JPanels即使大多数永远不会被使用?

0 投票
2 回答
633 浏览

java - 摇摆卡布局

当您添加两张具有相同标识符的卡片时,卡片布局的默认行为是什么。例如,如果panel1添加了哪个。稍后在程序中,我添加panel2了相同的字符串标识符。卡组中的默认行为是要替换panel1的吗?panel2谢谢

0 投票
1 回答
155 浏览

netbeans - 使用卡片布局时具有最大尺寸

当我使用 cardLayout 将几个 JPanel 添加到父 JPanel 或 JFrame 时,大小将设置为所有 JPanel 之间的最大 JFrame,我希望 JFrame 具有每个 JPanel 的完美大小,每次我在卡片之间翻转时,我想要每个 JPanel 的原始大小,而不是最大的大小

0 投票
2 回答
2227 浏览

java - 无法让 CardLayout/按钮 ActionListener 工作

我知道这与我的设置方式和动作监听器没有正确设置到框架或其他什么有关,但我就是无法听到它。如果有人能指出我正确的方向,我将不胜感激。对不起菜鸟问题。

这是我所拥有的:

0 投票
2 回答
3909 浏览

java - 在 Java 中使用 CardLayout

我目前正在尝试制作带有菜单的游戏。菜单看起来像这样。 http://puu.sh/xGoC

理想情况下,当我按下按钮时,它会带我进入游戏。游戏看起来是这样的。 http://puu.sh/xGoV

我目前在我的主类中初始化一个 JFrame(),它运行菜单类或游戏类(两者都是 JPanel)。

我将如何使用 CardLayout 来制作它,以便我可以初始化游戏菜单,当我单击一个按钮时,将面板更改为游戏面板?

0 投票
1 回答
261 浏览

java - CardLayout焦点java

我试图让我的键盘输入工作,但它没有检测到任何东西 - 可能是因为我正在使用 CardLayout 并且当我调用该show()函数时我没有正确设置焦点。

目前,它看起来像这样。

任何帮助将不胜感激。

0 投票
2 回答
29775 浏览

java - 如何在 CardLayout 中显示不同的卡片?

我查看了使用此代码的代码示例:

但是当我使用时,我show在 Eclipse 中收到一条消息,它已被弃用,我想知道当我单击按钮时是否有另一种方法可以在 CardLayout 中显示不同的卡片?下面是我的 CardLayout 类的代码。如果代码的某些部分是不好的做法,也欢迎提出建议。谢谢!

0 投票
1 回答
357 浏览

java - 卡片布局问题

我有这个主窗口,它扩展了一个 JFrame,它翻转了很多不同的 JPanel,所以我认为 CardLayout 对这种行为很有用。

我在 CardLayout 中添加了两个窗格,一个窗格比另一个窗格大得多,当我添加两个窗格时,显示的是较小的第一个窗格,而较大的第二个不是(良好行为),但它在第一个窗格下方留下了一个巨大的空间。

我不知道 CardLayout 上的尺寸是如何工作的,但它不响应 pack(),看起来它使用特定的算法来确定布局的首选尺寸。

有人有想法吗?

0 投票
2 回答
2048 浏览

java - 卡片布局抽奖

我之前发表过一篇文章,解释了我在卡片布局中绘制图像时遇到的问题。我得到了有限的帮助,并没有解决问题。所以我再次发布这篇文章来解释它,希望能得到一些有效的帮助。

我正在尝试为我的 java 游戏制作标题屏幕。我制作了两个java文件。第一个文件加载卡片布局,下一个加载标题屏幕。但不知何故,在第二个文件中我无法让它绘制我的背景图像。我没有收到任何错误消息。它根本不画任何东西。

第一个文件:

第二个文件:

编辑

您能否将存在图像显示问题的代码的确切部分提取到 SSCCE 中?并附上使用图像的链接 - 它可能已损坏,在这种情况下,问题不在代码内部。

干得好

对于图片:http: //i.stack.imgur.com/F3nHF.png

0 投票
1 回答
166 浏览

java - 延迟初始化启用 CardLayout?

我有一堆面板放在CardLayout其中第 n面板取决于第 (n - 1)面板中引起的状态变化。由于使用CardLayout,您必须事先初始化并添加所有面板。因此,它使管理状态变得比必要更难。

Java 或某些第三方开源库是否提供了一种变体,CardLayout可以懒惰地初始化其组成面板,即它们在它们即将可见之前被初始化?

编辑:

也许我没有清楚地说明问题。让我再尝试一次。

需要预先设置面板CardLayout,但我不希望它初始化它们,直到它们变得可见。这是必要的,以便将先前阶段的状态更改透明地传播到下一个阶段。

在我当前的代码中,我有:

此处InstallationPathPanel允许用户选择与默认安装目录不同的安装目录。ExtractionProgressPanel应该将某个 zip 文件提取到此目录。如果ExtractionProgressPanel被延迟初始化,用户选择的路径将被传播到它,而无需我做任何额外的事情。

希望问题现在很清楚。