Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sudoku (I)
Abordamos la parte final del curso con nuevos conceptos que nos facilitan la
interacción con el programa a través de interfaces (Swing y JavaFX) y gestionar la
persistencia de datos del programa de modo eficiente, mediante el uso de sistemas
gestores de base de datos. De momento, realizaremos una interface gráfica en Swing
de la aplicación de Sudoku, con la que hemos trabajado a lo largo del curso.
La tarea de esta unidad se compone de dos partes:
- Las clases de la vista, de esta parte de la tarea, deben estar dentro del paquete
local.<TuNombre>.sudoku.vista.
Ayuda:
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
JOptionPane.showConfirmDialog(…)
Cada botón debe tener una imagen (icono) de tipo ImageIcon, cuyo
archivo asociado debe estar en una carpeta de recursos de Maven.
Ayuda:
new ImageIcon(JFSudoku.class.getResource("/iconos/comprobar.png")) o
new ImageIcon(this.getClass().getResource("/iconos/resolver.png"));
- Al seleccionar cada una de las opciones del tamaño del menú (4x4, 9x9, 16x16),
debe cambiar el número de celdas del PanelSudodu
Sin espacios ni caracteres espaciales como ñ, acentos, etc. Por ejemplo, Johann
Nepomuk Mäzel enviaría un archivo con el nombre:
JohannNepomukMazel.pdf
EVALUACIÓN
AYUDA Y SUGERENCIAS
Colecciones estáticas
Aunque en esta tarea no es preciso, a veces, puede ser más cómodo y útil,
cuando los elementos son compartidos por varias ventanas u otras clases, por toda la
aplicación (constantes, iconos…), crear propiedades estáticas. Sin embargo, en el caso
de colecciones, crear una lista/mapa estático precisa añadir elementos a esa lista.
Si deseamos que la lista sea “final” y que tenga los elementos hay muchos
(1) Crear un bloque estático. Los bloques estáticos se ejecutan durante la carga de
la clase en memoria, después de la iniciar las variables estáticas:
public class Clase {
private static final Map<Integer, String> mapa;
static {
mapa = new HashMap<>();
mapa.put(1, "uno");
mapa.put(2, "dos");
}
// …
}
mapa = Collections.unmodifiableMap(mapa);
class Clase {
private static final Map<Integer, String> mapa = iniciarHashMap();
class Clase {
private static final Map<String, String> mapa =