Witam, zaczynam uczyć się Javy i chciałem napisać prosty program który będzie wyświetlał co sekundę liczby od 0 do 9 w Jlabel. Niestety po kliknięciu przycisku start program czeka 10 sec i w Jlabel wyświetla 9. Jak zrobić żeby Jlabel na bieżąco się odświerzał? Z góry dziękuję za pomoc. Mój kod:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;
public class main extends JFrame implements ActionListener
{
private JButton klik;
private JLabel label;
private Timer time;
public main()
{
setSize(300,200);
setTitle("Odliczanie");
setLayout(null);
klik = new JButton("Strat");
klik.setBounds(100,100,80,20);
add(klik);
klik.addActionListener(this);
label = new JLabel("");
label.setBounds(100,50,100,20);
add(label);
time = new Timer(1000, new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
for (int i = 0 ; i < 10 ; i++ )
{
label.setText(String.valueOf(i));
label.repaint();
repaint();
}
}
});
}
public static void main(String[] args)
{
main nazwa = new main();
nazwa.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
nazwa.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e)
{
time.start();
}
}