0

在用户单击按钮启动负责收集对象创建信息的不同 jframe 的程序中设计 gui 的最佳方法是什么?要与 OOP 原则保持一致?

例如,用户在启动时会看到一个MainFrame,其中包含对象列表和有关对象的信息。在用户需要添加新对象的情况下,他必须单击创建新对象按钮。单击该按钮将启动另一个 jframe,其中包含创建对象(建筑物)所需的字段。但是这个对象很复杂,并且在其中保存了另一个对象 - Box(要添加 Box,请单击 addBoxButton 和新框架,其中包含用于创建 Box 的字段)。包含另一个对象 - Commutator
的盒子。再次创建换向器,用户按下另一个按钮会产生新的框架,创建换向器,用户数据在框架中键入。然后我需要将 Commutator 放在 Box 和 Box 中,而不是在 Building 中。

现在 - 我在框架类之间进行信息交换时遇到了一些困难。例如,如果这些框架之一是在运行时创建的,我应该如何将从一个 jframe 收集的信息传输到另一个?

我的问题是 - 我的 GUI 是设计不良 GUI 的一个例子吗?将所有 gui 放在一个扩展 JFrame 的类中可能会更好?

4

2 回答 2

1
  1. 永远不要以这种方式混淆 GUI...

  2. Swing 本身是基于 MVC 原则的,这就是为什么它被称为 PLAF(Pluggable Look and Feel)。在保持相同模型的同时,我们可以更改视图。

  3. 尝试创建您的程序,牢记 MVC 原则。

    模型 - 处理业务逻辑和数据

    VIEW - 输出的表示

    CONTROLLER - 在其上完成操作。

  4. 为模型和视图创建单独的包。

    例如:

    com.app.view;     // This stores all of your GUI stuffs
    
    com.app.mode;     // This stores your Business Logic and the Data
    
于 2012-08-12T12:58:24.200 回答
1

GUI设计的典型方法是使用MVC(模型-视图-控制器)模式,其中模型负责数据存储和操作,视图显示数据,控制器也在它们之间连接。有很多教程深入解释了这种模式。阅读其中的一些。我相信你会找到你的问题的答案。

通常,数据应该进入模型,视图负责尽可能多的 JFrame。

于 2012-08-12T12:49:27.587 回答