Galera,
Tenho duas classes, essa aqui de baixo faz a criação da tela de um joguinho e a outra (logo abaixo) cria um vetor com os numeros sorteados.
Estou tendo um problema, quando eu clico no botão “Ïniciar Sorteio” o sistema trava e só imprime o número 1 e 2 que coloquei pra depurar o método actionPerformed.
A idéia seria pegar o primeiro valor e jogar em um textfield, mas o sistema para…fica travado ao tentar carregar o array no actionPerformed, valeu !
Alguma dica do que pode estar ocorrendo ?
[code]import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MontaTela extends javax.swing.JFrame {
private javax.swing.JButton btIniciarSorteio;
private javax.swing.JButton btProximaBola;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JTextField tfMostraBola;
private javax.swing.JTextField tfMostraSequencia;
/** Creates new form Find */
public MontaTela() {
initComponents();
}
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
//setSize(1800,1600);
btIniciarSorteio = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
tfMostraBola = new javax.swing.JTextField();
jPanel2 = new javax.swing.JPanel();
tfMostraSequencia = new javax.swing.JTextField();
btProximaBola = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Sistema Rasche de bingo");
btIniciarSorteio.setText("Iniciar Sorteio");
tfMostraBola.setBackground(new java.awt.Color(224,223,227));
tfMostraBola.setEditable(false);
tfMostraBola.setFont(new java.awt.Font("Arial", 1, 48));
tfMostraBola.setHorizontalAlignment(javax.swing.JTextField.CENTER);
tfMostraBola.setText("10");
tfMostraBola.setBorder(null);
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(tfMostraBola, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 751, Short.MAX_VALUE)
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.add(23, 23, 23)
.add(tfMostraBola, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(29, Short.MAX_VALUE))
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("N\u00fameros sorteados"));
jPanel2.setName("");
tfMostraSequencia.setBackground(new java.awt.Color(224, 223, 227));
tfMostraSequencia.setEditable(false);
tfMostraSequencia.setFont(new java.awt.Font("Arial", 1, 36));
tfMostraSequencia.setForeground(new java.awt.Color(51, 102, 255));
tfMostraSequencia.setText("01 10");
tfMostraSequencia.setBorder(null);
org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.add(tfMostraSequencia, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 739, Short.MAX_VALUE)
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel2Layout.createSequentialGroup()
.add(tfMostraSequencia, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 60, Short.MAX_VALUE)
.addContainerGap())
);
btProximaBola.setText("Proxima Bola (+)");
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(btIniciarSorteio, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(18, 18, 18)
.add(btProximaBola)
.add(555, 555, 555))
.add(layout.createSequentialGroup()
.add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(btIniciarSorteio)
.add(btProximaBola))
.add(118, 118, 118)
.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 38, Short.MAX_VALUE)
.add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
//pack();
TrataEventos trataEventos = new TrataEventos();
//trataEventos.setTfCampoTexto(tfMostraBola);
btIniciarSorteio.addActionListener(trataEventos);
setSize(800,600);
setVisible(true);
}
public class TrataEventos implements ActionListener {
public TrataEventos(){}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("Iniciar Sorteio")){
System.out.println("1");
GerenciaAleatorio gera = new GerenciaAleatorio();
System.out.println("2");
int[] numeros = gera.getListaNumeros();
System.out.println("3");
tfMostraBola.setText("10");
System.out.println("4");
}
}
}
}
[/code]
[code]import java.util.Random;
public class GerenciaAleatorio {
private final int tam = 91;
Random rand = new Random(System.currentTimeMillis());
private int[] num = new int[tam];
public GerenciaAleatorio(){}
public int getNumero(){
int i = 0;
i = rand.nextInt(tam);
while(existeNumero(i)==true){
i = rand.nextInt(tam);
}
return i;
}
public int[] getListaNumeros(){
for(int i=0;i<num.length;i++){
num[i]= getNumero();
}
return num;
}
private boolean existeNumero(int numero){
for(int i=0;i<num.length;i++){
if(numero==num[i]){
return true;
}
}
return false;
}
}
[/code]>