Tôi đang tạo một trò chơi trong Java để giải trí và tôi đang cố gắng quyết định cách tổ chức các lớp học của mình cho GUI. Cho đến nay, tất cả các lớp chỉ có các thành phần swing và layout (không logic) nằm trong một gói có tên là "ui". Bây giờ tôi cần thêm người nghe (tức là ActionListener) vào các thành phần (tức là nút). Người nghe cần giao tiếp với lớp Game.Tôi nên tổ chức GUI Java của mình như thế nào?
Hiện nay tôi có: Game.java - tạo ra khung thêm tấm để nó
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 - trò chơi logic
góiui - tất cả các lớp học tạo tấm mới để được hoán đổi với khung nội dung của khung chính Main.java (Menu chính) - tạo bảng với các thành phần
Bây giờ tôi đặt chức năng cho lớp chính ở đâu? Trong lớp trò chơi? Lớp học riêng biệt? Hay toàn bộ tổ chức sai?
Cảm ơn
Không làm UML trừ khi bạn biết tại sao bạn cần. Không làm các mẫu thiết kế trừ khi nó có ý nghĩa. Giữ mã đơn giản, giữ mã sạch sẽ, tái cấu trúc khi cần. – Kirill
@Kirill: Tôi hoàn toàn đồng ý với bạn. Cám ơn bạn đã góp ý. – Cristian