Ich hab ein Dialogfenster und das möchte ich alle 0.5 Sekunden aktualisieren, sprich z.B. ein Label darin ändern. Ich bekomm das irgendwie nicht hin, er zeigt das fenster erst an, wenn er fertig ist.
Hat jemand ne Idee?
Hat jemand ne Idee?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SpielDialog extends JDialog
{
Team home;
Team guest;
int painted = 0;
JLabel lab;
Timer timer;
public SpielDialog(Frame f, Team h, Team g)
{
super(f, "Spiel", true);
home = h;
guest = g;
getContentPane().setLayout(new BorderLayout());
setSize(300,100);
setResizable(false);
lab = new JLabel("Start");
getContentPane().add(lab, BorderLayout.CENTER);
setVisible(true);
timer = new Timer(50, new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
minute();
}
});
Msg.print("Timer startet...");
timer.start();
repaint();
}
public void minute()
{
painted++;
Msg.print("" + painted + " Mal");
lab.setText("" + painted + " . Minute");
if (painted > 90)
{
Msg.print("Timer stoppt.");
timer.stop();
}
this.repaint();
}
}
//in der variablen dekleration, muss von dem thread und der andere methode aus aufrubar sein
boolean fertig=false;
//im thread
while(fertg==false){
//aktualisierens quelltext
Thread.sleep(50);}
catch (Exception e){}
}