我正在用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类的功能?在游戏课上?单独上课?或者整个组织是错的?
由于
答案 0 :(得分:4)
首先:你做的很好。尝试保持代码的有序性将有助于您进行编程。但请记住这一点:开发优秀代码不仅仅是组织和分类源代码。例如......您使用的是任何类型的UML模型吗?你在应用任何设计模式吗? Are your classes really highly cohesive? How about coupling?
所有这些都将指导您完成编写好代码的过程,这似乎就是您想要的。所有这一切的结果将使您的代码组织起来并且易于保护。