繁体   English   中英

“ MVC”并根据“控件”类中选择的jTabbedpane控制jMenubar

[英]“MVC” and controlling a jMenubar depending on selected jTabbedpane from a “Control” class

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

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

这一切都很好。 但是,在我的“容器”类(实现“ ActionListener”)中,我检查了当前选中的选项卡,并确定我的前进/后退按钮是否环绕等。-也可以正常工作。

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

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

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

现在,处理菜单的方式为:

  1. 创建空的JMenuBar。

  2. 编写一种方法来清除菜单栏,并根据所选选项卡填充菜单/动作

  3. 将更改侦听器添加到您的选项卡式窗格中 ,以便它调用前述方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM