gpt4 book ai didi

用于翻阅基于 JPane 的 View 的 Java Swing 架构

转载 作者:行者123 更新时间:2023-12-02 08:33:02 25 4
gpt4 key购买 nike

我已经完成了几个具有静态布局的简单的基于 Swing 的应用程序,但现在我在尝试创建一个包含多个 View 的应用程序时遇到了问题,这些 View 可以通过按适当的导航按钮进行更改。

您可以将这个想法与网站进行比较,以便每个 View 都有按钮来访问某些其他 View ,但这可以在单个 JFrame 内工作。

我发现,也许 CardLayout ( Cardlayout example ) 可能是这种结构的合适解决方案,但我无法找到一种方法来从我的 JPanes 内部的按钮切换 View 。已在其单独的类中实现,

当然,一种方法是实例化父类中的所有内容,就像小型 java 教程示例中那样,但这对于多个 View 来说不太干净,也不是模块化的,不是吗。

如何实现才能访问 View 切换方法?

最佳答案

是的,当您想要在多种 View 之间切换时,CardLayout 特别适用。显然,就像@medoal 所说,也可以使用 JTabbedPane。无论如何,考虑到您想使用带有面板内按钮的 CardLayout 来更改可见面板,您会做的可能是:

  1. 创建面板并允许它们注册实现给定接口(interface)的对象。该接口(interface)将包含一个覆盖 CardLayout#show(Container, String) 的方法方法。好吧,举个例子,考虑到您的面板都设置了名称,并且每个名称都不同,您可以编写类似的内容

    公共(public)界面PanelToggler { 公共(public)无效toggleTo(字符串名称); }

  2. 在包含 CardLayout 的类中,您可以使用类似的方法实现 PanelToggler

    公共(public)无效toggleTo(字符串名称){ ((CardLayout) getLayout()).show(this, 名称);}

这样,在每个面板中,从 CardLayout 切换查看元素的每个按钮只需使用正确的参数调用 ToogleTo 即可。

关于用于翻阅基于 JPane 的 View 的 Java Swing 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2772664/

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