Hallo, ich hab ein Problem mit einer Ausgabe auf einem JLabel.
Und zwar, wenn ich lauf() in der main starte werden mir alle Zahlen nacheinander von 1-99 angezeigt. Nun möchte ich diese aber erst über einen Button aufrufen und hier das Problem, mir werden nun die zahlen nicht mehr angezeigt nur am Ende die 99. Kann mir dabei jemand helfen und erklären warum das so ist, oder wie ich das umgehen kann das ich wieder alle Zahlen angezeigt bekomme?
Danke schonmal
Und zwar, wenn ich lauf() in der main starte werden mir alle Zahlen nacheinander von 1-99 angezeigt. Nun möchte ich diese aber erst über einen Button aufrufen und hier das Problem, mir werden nun die zahlen nicht mehr angezeigt nur am Ende die 99. Kann mir dabei jemand helfen und erklären warum das so ist, oder wie ich das umgehen kann das ich wieder alle Zahlen angezeigt bekomme?
Danke schonmal
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class aktFrame {
static JFrame frame = new JFrame();
final static JLabel lblNewLabel = new JLabel("new Label");
public static void main(String[]args){
// final aktFrame af = new aktFrame();
ini();
// af.lauf();
}
private static void ini() {
frame.setBounds(250, 250, 389, 169);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
frame.setVisible(true);
JPanel panel = new JPanel();
frame.getContentPane().add(panel);
lblNewLabel.setBounds(10, 23, 231, 60);
frame.getContentPane().add(lblNewLabel);
JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
aktFrame af=new aktFrame();
af.lauf();
}
});
btnNewButton.setBounds(268, 42, 89, 23);
frame.getContentPane().add(btnNewButton);
}
void lauf(){
for (int i=0; i<100; i++){
lblNewLabel.setText(""+i);
// frame.repaint();
try { Thread.sleep(50);
}catch(Exception e){}
}
}
}