【发布时间】:2015-03-05 11:22:07
【问题描述】:
我有一个名为 Visual Data Structures 的项目。我有这样的 OOP 设计。
Class VisualDataStructures extends JFrame
Class ControlPanel extends JPanel
Class CodePanel extends JPanel
Class VisualDataStructures 是主要的。此类具有 Class ControlPanel 和 CodePanel 的实例。
Class ControlPanel 在JMenuBar 中有名为“Load”的JMenuItem。
Class CodePanel 有一个JTextArea。
问题:
我需要在类ControlPanel 中有一个名为“load”的JMenuItem 的actionlistener。点击加载后,用户会进入文件所在目录,此时文件会被加载并显示在CodePanel的JTextArea处。
我是否需要将从 VisualDataStructures 实例化的对象 CodePanel 传递给 ControlPanel 以便我使用该对象,然后修改 JTextArea 的值?
有人知道更好的方法吗?谢谢。
【问题讨论】:
-
查找“MVC”模式 - 您的应用程序有一个绑定到 UI 元素的模型,因此您可以更改模型并且模型将更改传播到 UI。
-
我也想过这个问题。我真的不知道这是否是更好的方法。但是我会尝试。谢谢。
-
@PaulJabines 一般来说没有更好的方法。谷歌 MVVM、MVP、MV?同样:哪种方法最合适因用例而异
-
我不知道那个 MVVM MVP 和 MV。我会谷歌它。谢谢。