Bouton ActionListener

Ok, donc j'ai fait un programme simple qui ajoute de la valeur au compteur chaque fois qu'un bouton est cliqué.
Maintenant, je voudrais ajouter un bouton "Auto" en option pour accroître la valeur du compteur lorsque le bouton "Auto" est sélectionné. Je vais avoir des problèmes avec elle parce qu'elle ne rend pas chaque valeur du compteur sur l'écran, au lieu de la valeur des mises à jour quand la boucle est terminée.. Voici mon code:

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.concurrent.TimeUnit;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Gui extends JFrame{
private static final long serialVersionUID = 1L;
private JButton uselesButton;
private JButton autoButton;
private FlowLayout layout;
private long counter = 0;
public Gui() {
super("Button");
layout = new FlowLayout(FlowLayout.CENTER);
this.setLayout(layout);
uselesButton = new JButton(String.format("Pressed %d times", counter));
add(uselesButton);
uselesButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
counter++;
uselesButton.setText(String.format("Pressed %d times", counter));
}
});
autoButton = new JButton("Auto");
add(autoButton);
autoButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for(long i =0; i < 99999999;i++) {
try {
TimeUnit.MILLISECONDS.sleep(10);
} catch (InterruptedException e1) {
System.out.println("ERROR");
}
counter = i;
uselesButton.setText(String.format("Pressed %d times", counter));
}
}
});
}
}

Gardez à l'esprit que je suis un débutant... Toute aide appréciée 🙂

Quelle est la question?
Ce exactement est le bouton auto censé faire?
Je pense que Swing Timer les résoudre.

OriginalL'auteur dev-cyprium | 2013-07-07