我该如何组织我的Java GUI?

时间:2010-05-09 06:34:18

标签: java user-interface swing organization

我正在用Java创建游戏以获得乐趣,我正在尝试决定如何为GUI组织我的类。到目前为止,所有只有swing组件和布局(没有逻辑)的类都在一个名为“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 package - 所有类都创建要与主框架内容窗格交换的新面板       Main.java(主菜单) - 创建一个包含组件的面板

我现在在哪里放置Main类的功能?在游戏课上?单独上课?或者整个组织是错的?

由于

1 个答案:

答案 0 :(得分:4)

首先:你做的很好。尝试保持代码的有序性将有助于您进行编程。但请记住这一点:开发优秀代码不仅仅是组织和分类源代码。例如......您使用的是任何类型的UML模型吗?你在应用任何设计模式吗? Are your classes really highly cohesive? How about coupling?

所有这些都将指导您完成编写好代码的过程,这似乎就是您想要的。所有这一切的结果将使您的代码组织起来并且易于保护。