gpt4 book ai didi

java - "MVC"并根据从 "Control"类中选择的 jTabbedpane 控制 jMenubar

转载 作者:行者123 更新时间:2023-11-30 11:58:19 25 4
gpt4 key购买 nike

是的,所以我知道我的代码/结构非常困惑,我以前没有做过 MVC,但我很确定我做错了。我希望能够根据选择的选项卡“控制”jMenubar。

我有一个主要的 GUI 类,它只是创建一个新的“MenuBar”和每个新的“PanelXXXX”,其中“PanelXXXX”可以是“PanelDesign”、“PanelSource”等。这些面板作为新选项卡添加到我的 jTabbedpane 中。“PanelXXXX”都扩展了包含一些额外/默认值的“Panel”。“Panel”扩展了“jPanel”并实现了“ActionListener”。 “MenuBar”扩展了“jMenubar”。在“MenuBar”内部——我设置了不同的“JMenuItem”。

一切正常。然而,在我的“容器”类(它实现了“ActionListener”)中,我检查了当前选择的选项卡并决定我的前进/后退按钮是否环绕等等 - 也工作正常。

现在我想知道如何在不创建新对象的情况下控制 MenuBar,我可以重新编码 MenuBar 以实现一个 Singleton 类,这可能有效吗?

嗯,我想我需要“MenuBar”来实现“ActionListener”?等等,不,那是不正确的...

最佳答案

首先,除非您需要具有扩展功能的新组件,否则不要子类化 Swing 组件。

现在,菜单的处理方式:

  1. 创建空的 JMenuBar。

  2. 编写一个方法来清除菜单栏并根据所选选项卡用菜单/操作填充它

  3. Add change listener to your tabbed pane这样它就会调用之前描述的方法

关于java - "MVC"并根据从 "Control"类中选择的 jTabbedpane 控制 jMenubar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3238137/

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