Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该如何组织我的JavaGUI?_Java_User Interface_Swing_Organization - Fatal编程技术网

我应该如何组织我的JavaGUI?

我应该如何组织我的JavaGUI?,java,user-interface,swing,organization,Java,User Interface,Swing,Organization,我正在用Java创建一个有趣的游戏,并试图决定如何为GUI组织我的类。到目前为止,只有swing组件和布局(没有逻辑)的所有类都在一个名为“ui”的包中。现在我需要将侦听器(即ActionListener)添加到组件(即button)。听众需要与游戏类交流 目前我有: java-创建框架并向其添加面板 import javax.swing.*; import ui.*; public class Game { private JFrame frame; Main main;

我正在用Java创建一个有趣的游戏,并试图决定如何为GUI组织我的类。到目前为止,只有swing组件和布局(没有逻辑)的所有类都在一个名为“ui”的包中。现在我需要将侦听器(即ActionListener)添加到组件(即button)。听众需要与游戏类交流

目前我有: 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(); }

}
java-游戏逻辑

ui包-所有类都创建新面板,以便与主框架的内容窗格交换 java(主菜单)-创建包含组件的面板

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


谢谢

首先:你所做的一切都是出于好意。努力使代码井然有序将对您的编程有所帮助。但请记住这一点:开发好的代码不仅仅是组织和分类您的源代码。例如您是否使用任何类型的UML模型?您是否正在应用任何设计模式


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

除非您知道为什么需要UML,否则不要使用UML。除非有意义,否则不要设计模式。保持代码简单,保持代码干净,根据需要进行重构。@Kirill:我完全同意你的观点。谢谢你的评论。