在程序中设计gui的最佳方法是什么,用户点击按钮启动不同的jframes负责收集对象创建的信息?为了与OOP原则保持一致?
例如,用户在启动时会看到 MainFrame ,其中包含对象列表和有关对象的信息。在用户需要添加新对象的情况下,他必须单击“创建新对象”按钮。单击该按钮将启动另一个jframe,其中包含创建对象(Building)所需的字段。但是这个对象是comlex并且在其中包含另一个对象 - Box (添加Box,你单击addBoxButton和用于创建Box的字段产生的新框架)。
包含另一个对象的框 - 换向器。再次创建Commutator用户按下另一个按钮产生新帧,创建具有框架内输入的用户数据的换向器。
然后我需要把Commutator放在Box和Box中而不是建筑中。
现在 - 我在框架类之间的信息交换方面遇到了一些困难。 例如,如果在运行时创建其中一个帧,我应该如何将从一个jframe收集的信息传输到另一个?
我的问题是 - 我的GUI是设计糟糕的GUI的一个例子吗?也许最好将所有gui放在一个扩展JFrame的类中?
答案 0 :(得分:1)
GUI设计的典型方法是使用MVC(模型 - 视图 - 控制器)模式,其中模型负责数据存储和操作,视图显示数据和控制器之间的连接。有很多教程可以深入解释这种模式。阅读其中一些。我相信你会找到你问题的答案。
通常,数据应该是模型,视图负责任意数量的JFrame。
答案 1 :(得分:1)
永远不要以这种方式混淆GUI ...
Swing本身基于MVC原则,这就是为什么它被称为PLAF(Pluggable Look and Feel)。在保持相同模型的同时,我们可以更改视图。
尝试创建您的程序时要牢记MVC原则。
模型 - 处理业务逻辑和数据
VIEW - 输出的表示
CONTROLLER - 动作完成。
为模型和视图创建单独的包。
例如:
com.app.view; // This stores all of your GUI stuffs
com.app.mode; // This stores your Business Logic and the Data