java - CardLayout - 如何使用 NetBeans GUI Builder 使用 previous() 和 next()?

标签 java swing user-interface netbeans cardlayout

这是我尝试过的:

将一些 JPanel 拖到 JFrame 上(使用 NetBeans 检查器窗口)。

在 JFrame 构造函数中,使用 .setVisible(false) 使所有 JPanel 不可见,除了我想首先显示的那个。

它有效,我可以通过使用一些带有 actionPerformed 的按钮并将 .setVisible(false) 添加到当前卡片和 .setVisible(true) 来轻松地从一个按钮切换到另一个按钮> 到我想看的那个。

我现在想做的是使用 CardLayout previous()next(),类似于浏览器的后退/前进。我还想从不同的地方访问一个面板,即两个面板可以链接到同一个面板,因此之前的面板不会总是相同的。

我尝试在 JFrame 类中的 actionPerformed 中使用以下代码:

CardLayout cardLayout = (CardLayout) this.getLayout();
cardLayout.previous(this);

但是,它不起作用。我错过了什么?这应该符合我的要求吗?

最佳答案

由于您已将 JFrame 的布局设置为 CardLayout,因此在使用其 next() 时需要使用父容器& previous() 方法。对于 JFrame,父容器是内容 Pane 。所以改变:

cardLayout.previous(this);

cardLayout.previous(getContentPane());

关于java - CardLayout - 如何使用 NetBeans GUI Builder 使用 previous() 和 next()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13371259/

相关文章:

java - 如何比较两行或获取值与比较的行不匹配的字段?

java - 初始化主 GUI 时可见的 JProgressBar

java - 如何调整一条线上的元件位置

java - AEM 6.1 不再支持 "libs/collab"

java - 针对共享 Web 服务对用户进行身份验证和授权的架构挑战

Java JTree - setSeelectionPath

java - getWidth() 对于面板返回 0

java - Netbeans JDialog 大小

java - 将 GUI 开发为 Eclipse 插件

java - 创建动态 Web 服务,动态 Web 服务调用程序