Ich erstelle ein Spiel in Java zum Spaß und ich versuche zu entscheiden, wie ich meine Klassen für die GUI organisieren. Bisher sind alle Klassen mit nur den Swing-Komponenten und Layout (keine Logik) in einem Paket namens "Ui". Ich muss nun Listener (d. H. ActionListener) zu Komponenten hinzufügen (d. H. Knopf). Die Zuhörer müssen mit der Spielklasse kommunizieren.Wie soll ich meine Java GUI organisieren?
Zur Zeit habe ich: Game.java - schafft den Rahmen hinzufügen Panels es
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 - Spiellogik
ui Paket - alle Klassen erstellen neue Panels mit ausgelagert werden Inhaltsfenster des Hauptrahmens Main.java (Hauptmenü) - erstellt ein Bedienfeld mit Komponenten
Wo platziere ich jetzt die Funktionalität für die Hauptklasse? In der Spielklasse? Getrennte Klasse? Oder ist die ganze Organisation falsch?
Dank
Tun Sie nicht UML, wenn Sie nicht wissen, warum Sie es brauchen. Machen Sie keine Muster, solange es keinen Sinn ergibt. Halten Sie den Code einfach, halten Sie den Code sauber, Refaktor nach Bedarf. – Kirill
@Kirill: Ich stimme Ihnen vollkommen zu. Vielen Dank für Ihren Kommentar. – Cristian