gpt4 book ai didi

java - 设计问题: MVC model with Java CardLayout application

转载 作者:行者123 更新时间:2023-11-30 05:00:49 26 4
gpt4 key购买 nike

抱歉,标题含糊不清,我正在尝试布局一个应用程序,不幸的是,我在没有遵循正确的 MVC 架构规则的情况下开始编码。我有一个具有以下结构的应用程序。

带有 JPanel(“MainPanel”)作为组件添加的 JFrame,并且 MainPanel 具有 CardLayout 结构。然后,MainPanel 有几个 JPanel,可以使用按钮、Jcombo Box 和列表选项进行翻转。

我想使用此结构实现 MVC 模型,但我很难找到实现此目的的方法。到目前为止,我将所有的 actionListener 都放在里面,我创建了 GUI 组件,并希望将其分离出来,并为每个 JPanel 添加一个 Controller 到 MainPanel 中。我可以通过哪些方法来设计这个程序,使我可以将操作逻辑和数据访问分开,同时仍然保持 CardLayout 结构?

最佳答案

A Swing Architecture Overview 中所述,Swing可分离模型架构意味着一个应用程序可能有很多模型。按钮和表格是常见的例子。 Actions是封装组件功能以便在菜单、按钮和其他控件中重用的便捷方法。您没有提供有关应用程序模型的详细信息,但您可能会考虑使用 state pattern简化您的导航模型。这个answer也可能提供一些见解。

附录:作为具体示例,CardPanel使用的导航模型完全隐含在组合的 DefaultComboBoxModel 中。通过扩展该模型,您的 View 可以将自己注册为监听器,并在用户更改组合设置时适本地配置自己。例如,程序的数据模型所需的值(相关 View 也会监听该值)可能会突出显示以表示必填字段;或者对当前状态没有意义的控件可能会被禁用或隐藏。

关于java - 设计问题: MVC model with Java CardLayout application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6811621/

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