Spe*_*cer 7 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(); }
}
Run Code Online (Sandbox Code Playgroud)
Rules.java - 游戏逻辑
ui包 - 所有类创建新面板以与主框架的内容窗格交换出来Main.java(主菜单) - 创建一个包含组件的面板
我现在在哪里为Main类放置功能?在游戏课上?单独上课?或整个组织是错的?
谢谢
首先:你所做的事情是出于好意。尝试让你的代码保持井井有条肯定会对你的编程有所帮助。但请记住这一点:开发好的代码不仅仅是组织和分类源代码。例如...您是否使用任何类型的 UML 模型?您正在应用任何设计模式吗?你们的班级凝聚力真的很高吗?耦合怎么样?
所有这些都将指导您完成编写优秀代码的过程,这似乎就是您此时想要的。所有这些的结果将使您的代码变得井然有序且易于维护。