【问题标题】:How should I organize my Java GUI?我应该如何组织我的 Java GUI?
【发布时间】:2010-05-09 06:34:17
【问题描述】:

我正在用 Java 创建一个有趣的游戏,并且我正在尝试决定如何为 GUI 组织我的类。到目前为止,所有只有摆动组件和布局(没有逻辑)的类都在一个名为“ui”的包中。我现在需要向组件(即按钮)添加侦听器(即 ActionListener)。侦听器需要与 Game 类进行通信。

目前我有: Game.java - 创建框架添加面板

import javax.swing.*;
import ui.*;

public class Game {

    private JFrame frame;
    Main main;

    Rules rules;

    Game() {
        rules = new Rules();

        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        main = new Main();
        frame.setContentPane(main.getContentPane());
        show();
    }

    void show() {
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) { new Game(); }

}

Rules.java - 游戏逻辑

ui 包 - 所有类都创建新面板以与主框架的内容面板交换 Main.java(主菜单) - 创建一个带有组件的面板

现在我应该在哪里放置 Main 类的功能?在游戏课上?单独上课?还是整个组织都错了?

谢谢

【问题讨论】:

    标签: java user-interface swing organization


    【解决方案1】:

    首先:您所做的事情是出于好意。尝试使您的代码井井有条,这肯定会帮助您进行编程。但是请记住这一点:开发好的代码不仅仅是组织和分类你的源代码。例如...您是否使用任何类型的 UML 模型?你在应用任何设计模式吗? Are your classes really highly cohesive? How about coupling?

    所有这些都将引导您完成编写好代码的过程,这似乎是您目前想要的。所有这些的结果将使您的代码井井有条且易于维护。

    【讨论】:

    • 除非您知道为什么需要它,否则不要使用 UML。除非有意义,否则不要做设计模式。保持代码简单,保持代码干净,按需重构。
    • @Kirill:我完全同意你的看法。感谢您的评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多