Olá amigos.
Tenho um programinha ( código logo abaixo) que deveria exibir na caixa de texto T1 a contagem progressiva dos números de 1 até 10.
Para tanto, inseri no método Actionperformed, um contador temporizado.
Quando clico no botão B1, ele fica pressionado por exatos 10 segundos, e nesse período nada aparece no mostrador.
Após esse período, o botão B1 é "liberado" e é mostrado apenas o numero 10 em T1. Isso mostra que o contador temporizado funciona, mas o método Actionperformed não consegue atualizar os loops na caixa de texto T1. Como posso resolver o problema ?
Agradeço a atenção !
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Inter extends JFrame implements ActionListener{
JTextField T1;
JButton B1;
Inter(){
setSize(150, 150);
T1= new JTextField(10);
B1= new JButton("b1");
T1.addActionListener(this);
B1.addActionListener(this);
getContentPane().add(T1);
getContentPane().add(B1);
getContentPane().setLayout(new FlowLayout());
}
public void actionPerformed(ActionEvent e){
if(e.getSource()== B1){
Thread t = new Thread();
t.start();
int i ;
for( i= 1; i<= 10; i ++){
T1.setText(" " +i);
System.out.println(i);
try{
t.sleep(1000);
if(i==100) System.exit (0);}
catch (InterruptedException f ){}
}}}
public static void main(String[] s){
Inter frame = new Inter();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}}
