2类依赖关系?
问题描述:
我在制作Java Swing GUI应用程序。我有2个课程导致了我的问题。我已经创建了一个菜单栏类来处理正常的菜单栏选择:2类依赖关系?
File -> Exit
Edit -> Cut, Copy , Paste
Tools -> Options
Help -> About
最后一类是一个选项类。目前只是通过JComboBox将JFrame更新为您想要的外观和感觉。 MercuryFrame只是我用于UI的默认JFrame。
目前的代码是
OptionWindow option = new OptionWindow(mercuryFrame , notesWindow);
MercuryMenuBar menuBar = new MercuryMenuBar(mercuryFrame , option);
现在我遇到的问题是我希望我们的MenuBar类有一个JFrame显示关于被点击时。这表明可以说当前版本。现在在这个设置中,optionWindow不会更新关于JFrame。现在我可以通过在调用optionWindow函数时传递值来解决此问题。
openOptionWindow(menuBarJFrame);
,或者使用setter方法
option.setHelpFrame(JFrame);
最后,我考虑的另一个选项是使得关于它自己的类,只是它传递给两个人的类声明之后。
AboutWindow about = new AboutWindow();
OptionWindow option = new OptionWindow(mercuryFrame , notesWindow , about);
MercuryMenuBar menuBar = new MercuryMenuBar(mercuryFrame , option , about);
这些方法中的任何一种都是正确的方法吗?或者这是我设计它的问题?
感谢您的任何帮助。
UPDATE
我就用第三种方法。
AboutWindow about = new AboutWindow();
OptionWindow option = new OptionWindow(mercuryFrame , notesWindow , about);
MercuryMenuBar menuBar = new MercuryMenuBar(mercuryFrame , option , about);
但是我很想听听你是否认为这是正确的。
答
我用第三种方法去了。
AboutWindow about = new AboutWindow();
OptionWindow option = new OptionWindow(mercuryFrame , notesWindow , about);
MercuryMenuBar menuBar = new MercuryMenuBar(mercuryFrame , option , about);