[英]“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组件归类。
现在,处理菜单的方式为:
创建空的JMenuBar。
编写一种方法来清除菜单栏,并根据所选选项卡填充菜单/动作
将更改侦听器添加到您的选项卡式窗格中 ,以便它调用前述方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.