[color=red][size=18]Se alguem achar que estou falando Besteria me corrija [/size] [/color]
____________________________________________________________________________
david.jv, estou com uma dica de Código aqui para seu Problema:
É algo bem simples talvez exista uma solução melhor para este problema, mais vai ai:
[color=darkred]Classe Sorteio com uma variavel Global int num [/color]
public class Sorteio extends JLabel implements Runnable {
int num;
}
[color=darkred]No construtor vamos trabalhar com o texto da Label, as Threads e ação do Mouse[/color]
1 - Setando a configuração de Fonte do Label
2 - Instanciando um objeto do tipo Thread, com parametro [color=blue]this[/color], pois iremos implementar o método [color=blue]run[/color].
3 - Acionando uma parada da Thread ao Clicar com o Mouse.
public Sorteio() {
setFont(new Font("", Font.BOLD, 100));
final Thread th = new Thread(this);
addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
th.stop();
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
});
th.start();
}
[color=darkred] Vamos para a implementação do método [color=blue]run[/color] [/color].
1 - Temos que colocar um laço infinito nele para ele executar infinitamente (obvio)
2 - Colocar um tempo de parada para ele executar novamente (Este tempo é dado em Milisegundos.
3 - Devemos também tratar a exceção,
4 - Pode se ver que tem um método dentro chamado sorteio ele terá o papel de setar a variável [color=blue]num [/color],
public void run() {
for (;;) {
try {
sorteia();
Thread.sleep(30);
} catch (InterruptedException ex) {
}
}
}
[color=darkred]Por fim fazer o metodo sorteio [/color]
Método que seta a label, e será executado dentro da run
public void sorteia() {
if (num < 101) {
num++;
}
if (num == 101) {
num = 0;
}
setText(Integer.toString(num));
}
Agora so fazer um frame e estanciar um objeto do tipo Sorteio tentro, para que nao Haja duvida vou colocar aqui em baixo um teste
Testa ele no metodo main
public static void main(String[] args) {
JFrame janela = new JFrame();
janela.add(new Sorteio());
janela.setBounds(300,300,400, 200);
janela.setDefaultCloseOperation(3);
janela.setVisible(true);
}
}
david.jv- De uma estudada mais afundo, na parte de Thread, ajudaria muito você a entender estas coisas.