java - 使用 Cardlayout 切换到特定的 JPanel

标签 java swing netbeans jpanel cardlayout

我已经开始使用 netbeans 开发 Java 桌面应用程序。我有 7 个不同的屏幕,我使用 JPanel 来表示它们。一个 JPanel 代表它们中的每一个,一个包含所有它们(命名为 mainPanel),它位于 JFrame 中。 mainPanel 使用 Cardlayout 来切换屏​​幕(JPanels)。我使用 netbeans ui 小部件(即拖放)构建了所有这些界面。

布局

JFrame
    mainPanel (Jpanel) CardLayout
        Child1 (JPanel)
        Child2 (JPanel)
        .
        .
        .
        .
        Childn (Jpanel)

我知道可以使用 JPanel.next()Jpanel.previous 切换屏幕。但它们只能在连续屏幕之间进行切换时使用,即如果您必须切换到最近的邻居。还有一个方法 JPanel.show() 去一个特定的屏幕,但问题是它需要一个参数 name 这是一个 String 你使用 JPanel.add() 函数将其添加到 mainPanel 时关联。我已经使用拖放添加了所有内容,所以我不知道 String 关联的是什么,如果有的话。 虽然它看起来很原始,而且我已经在没有 Cardlayout 的情况下完成了,但是这次,Cardlayout 是一个要求。

帮助将不胜感激

最佳答案

example使用 JComboBox 来更改卡片。该示例扩展了 JPanel 以添加名称,但是 Component 具有 getName()setName() 方法作为选择。另见此相关 answer .

image

关于java - 使用 Cardlayout 切换到特定的 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12350812/

相关文章:

Java 表格布局

java - 动态更改 JTree 中特定节点的图标

java - 在 Netbeans 中添加 'Test Packages' 文件夹

java - 我们可以在java swing中编辑生成的代码吗?

java - 将 Jax-B 与 Jax-WS 结合使用以返回复杂类型

java - 在 Lucene 中索引多个用户的数据的最佳实践是什么

java - 在 Java 2D API 中将图像缩放为单个表面

java - 对象关系映射的缺点

java - 支持JVM的平台

java - 如果我们在 spring MVC 中互换 @service 和 @repository 注解会发生什么