Hola!
estoy haciendo un programita que genere los números de la primitiva. El diseño lo tengo hecho pero estoy bastante atascado con la parte que tiene que hacer que el botón que he llamado GENERAR inserte los números aleatorios del 1 al 9 en las 5 casillas de los números más el complementario.
Creo que el problema viene al montar el método ActionPerformed dentro del método Primitiva, pero no sé como debería de hacerlo.
Los números no deberían repetirse, pero esa segunda parte ya la arreglaré yo por mi cuenta.
Os paso todo el código a ver si podeis echarme un cable:
import javax.swing.*;
import java.awt.event.*;
public class Primitiva extends JFrame implements ActionListener{
private JTextField textfield1, textfield2, textfield3, textfield4, textfield5, textfield6;
private JLabel label1;
private JButton btnActiva;
int[] numeros;
public Primitiva() {
setLayout(null);
//Casilla1
textfield1=new JTextField();
textfield1.setBounds(40,10,30,30);
add(textfield1);
//Casilla2
textfield2=new JTextField();
textfield2.setBounds(80,10,30,30);
add(textfield2);
//Casilla3
textfield3=new JTextField();
textfield3.setBounds(120,10,30,30);
add(textfield3);
//Casilla4
textfield4=new JTextField();
textfield4.setBounds(160,10,30,30);
add(textfield4);
//Casilla5
textfield5=new JTextField();
textfield5.setBounds(200,10,30,30);
add(textfield5);
//Etiqueta Complementario
label1=new JLabel("Complementario");
label1.setBounds(300,10,100,30);
add(label1);
//Casilla Complementario
textfield5=new JTextField();
textfield5.setBounds(400,10,30,30);
add(textfield5);
btnActiva=new JButton("Generar");
btnActiva.setBounds(220,200,100,30);
add(btnActiva);
//Generar numeros aleatorios
numeros=new int [9]; //el arreglo tiene seis elementos
for (int i = 0; i<5; i++){
numeros[i]=(int)Math.floor((Math.random()*(5))); //genera 6 números aleatorios
}
//*** CODIGO QUE DEBERIA INSERTAR ALEATORIO EN EL BOTÓN..
btnActiva.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textField1.setText(Integer.toString(numeros[0]));
textField2.setText(Integer.toString(numeros[1]));
textField3.setText(Integer.toString(numeros[2]));
textField4.setText(Integer.toString(numeros[3]));
textField5.setText(Integer.toString(numeros[4]));
textField6.setText(Integer.toString(numeros[5]));
//*** FIN CODIGO INSERTA ALEATORIO
}
}
}
public static void main(String[] ar) {
Primitiva primitiva1=new Primitiva();
primitiva1.setBounds(0,0,600,300);
primitiva1.setVisible(true);
}
}
Gracias!!