Ajuda para sistema de sorteio

6 respostas
L

to querendo fazer um programinha tipo um sistema de sorteio…

mas assim, queria que quando apertar o botao ele fique mostrando bem rapido os numeros que ele vai sorteando em um Label e quando apertar em outro botao ele pare de sortear e mostre o numero sorteado…

eu consegui fazer mas quando ele entra no loop nao atualiza o Label… queria que ele atualizasse o Label toda vez que um numero fosse sorteado.

6 Respostas

P

bote o código ai para poder ajudar…

L

tipo assim…

public class LabelPanel extends javax.swing.JPanel {
....


 public void Sortear(int numero) {
        int i = 0;
     while (i <= 2000000) {
            int numSorteado = (int) (1 + (Math.random() * numero)) ;
            this.setLabelNumeroSorteado(""+numSorteado);            
            i++;
        }
    }

....

esse eh o metodo responsavel por sortear os numeros

P

qual eh o nome do seu label??

pq nao vi nenhum setText ai.

vc tem q colocar: label.setText(valorString);

L

essa eh a classe completa

public class LabelPanel extends javax.swing.JPanel {
    boolean sortear = false;

    private int numero;
    /** Creates new form LabelPanel */
    public LabelPanel() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Código Gerado ">//GEN-BEGIN:initComponents
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();

        setLayout(new java.awt.GridBagLayout());

        setBackground(new java.awt.Color(255, 255, 255));
        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 60));
        jLabel1.setForeground(new java.awt.Color(255, 51, 51));
        jLabel1.setText("SORTEIO");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.insets = new java.awt.Insets(6, 0, 6, 0);
        add(jLabel1, gridBagConstraints);

        jLabel2.setFont(new java.awt.Font("Tahoma", 0, 55));
        jLabel2.setText("000");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.insets = new java.awt.Insets(6, 0, 6, 0);
        add(jLabel2, gridBagConstraints);

    }// </editor-fold>//GEN-END:initComponents
    
    public void setLabelNumeroSorteado(String numero) {
        this.jLabel2.setText(numero);
    }
    
    public void Sortear(int numero) {
        int i = 0;
     while (i <= 2000000) {
            int numSorteado = (int) (1 + (Math.random() * numero)) ;
            this.setLabelNumeroSorteado(""+numSorteado);            
            i++;
        }
    }
    
    public void setSortear(boolean sorteio) {
        this.sortear = sorteio;
    }
    // Declaração de variáveis - não modifique//GEN-BEGIN:variables
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    // Fim da declaração de variáveis//GEN-END:variables
    
}

tipo eu gostaria de saber se tem alguma maneira de fazer igual faz aquele Timer do Delphi…
vc inicia ele e de instante em instante ele chama um método… ai isto faz mudar o label

P

existe sim o nome eh thread !!!
da uma olhadinha ai nu guj q vc encontra bastante coisa sobre o assunto pq eu nao manjo muito ainda da threads

L

blz…

valeu cara, vou pesquisar ver se acho algo!

Criado 12 de outubro de 2007
Ultima resposta 12 de out. de 2007
Respostas 6
Participantes 2