Я создаю игру в Java для забавы, и я пытаюсь решить, как организовать мои классы для GUI. До сих пор все классы только с компонентами колебания и расположением (никакая логика) находятся в пакете, названном "ui". Я теперь должен добавить слушателей (т.е. ActionListener) к компонентам (т.е. кнопка). Слушатели должны общаться с Игровым классом.
В настоящее время я имею: 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 - все классы создают новые панели, которые будут выгружены с областью Main.java содержания основного кадра (Главное меню) - создает панель с компонентами
Куда я теперь помещаю функциональность для Основного класса? В игровом классе? Отдельный класс? Или целая организация неправильно?
Спасибо
Прежде всего: то, что вы сделали, - хорошее намерение. Попытка сохранить свой код организованным, несомненно, поможет вам в программировании. Но постарайтесь иметь в виду: разработка хорошего кода выходит за рамки организации и классификации исходного кода. Например...вы используете какую-либо модель UML? Вы применяете какой-либо шаблон дизайна? Ваши классы действительно очень сплоченные? Как насчет связывания?
Все это поможет вам в процессе написания хорошего кода, который, похоже, именно то, что вам нужно на данный момент. Результат всего этого сделает ваш код организованным и легким в обслуживании.