Código Java:
Ver original
import java.awt.*; import javax.swing.*; PruebaEventos primi = new PruebaEventos(this); // configurar fila 1 // configurar fila 2 public Prueba() { super("Numeros aleatorios"); setSize(750, 270); setLayout(layout); automatico.addItemListener(primi); manual.addItemListener(primi); 10, 10); opcion.add(automatico); opcion.add(manual); fila1.setLayout(layout1); fila1.add(automatico); fila1.add(manual); add(fila1); fila2.setLayout(layout2); fila2.add(etiquetaNumeros); for (int i = 0; i < 6; i++) { fila2.add(numeros[i]); } add(fila2); setVisible(true); } Prueba marco = new Prueba(); } }
Y la segunda clase es la que va a albergar la interfaz ItemListener para saber que casilla se ha marcado, si la que pone "automático" o "manual".
Código Java:
Ver original
import javax.swing.*; import java.awt.event.*; Prueba gui; public PruebaEventos(Prueba in) { gui = in; } if (item == gui.automatico) { for (int i = 0; i < 6; i++) { int eleccion; do { } while (numeroRepetido(eleccion, gui.numeros, i)); gui.numeros[i].setText("" + eleccion); } } else { for (int i = 0; i < 6; i++) { gui.numeros[i].setText(null); } } } //Compara cada número que vaya sacando con los que ya hayan salido y devuelve true o false según esté repetido o no. for (int i = 0; i < count; i++) { return true; } } return false; } }
Y mi duda va sobre la condición del condicional if de esta clase que me devuelve valor true o false. Ya que sé que lo que hace es comparar los valores del array pastNums con el integer num, pero lo que no entiendo es qué valor compara cuando el array pasNums está vacío, es decir, cuando todavía no le he introducido ningún valor. Porque sé que por ejemplo los arrays de tipo int se rellenan por defecto con 0 y los de tipo String con null, pero no sé como se rellenan por defecto los arrays de tipo JTextField. Porque buscando por internet he leído que se rellena por defecto con "",pero entonces ¿como puede hacer un casting a integer de ""?.Sí alguien me pudiera explicar esta parte, le estaría muy agradecido