Estoy creando un juego en Java por diversión y estoy tratando de decidir cómo organizar mis clases para la GUI. Hasta ahora, todas las clases con solo los componentes de swing y el diseño (sin lógica) están en un paquete llamado "ui". Ahora necesito agregar oyentes (es decir, ActionListener) a los componentes (es decir, botón). Los oyentes necesitan comunicarse con la clase Game.¿Cómo debo organizar mi GUI de Java?
Actualmente tengo: Game.java - Crea el marco de añadir paneles a ella
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 - la lógica del juego
paqueteui - todas las clases crean nuevos paneles que pueden intercambiar con el panel de contenido del marco principal Main.java (Menú principal): crea un panel con componentes
¿Dónde coloco ahora la funcionalidad para la clase Principal? En la clase de juego? Clase separada? ¿O está toda la organización equivocada?
Gracias
No hagas UML a menos que sepas por qué lo necesitas. No hagas patrones de diseño a menos que tenga sentido. Mantenga el código simple, mantenga el código limpio, refactorícelo según sea necesario. – Kirill
@Kirill: estoy completamente de acuerdo con usted. Gracias por tu comentario. – Cristian