Label aktualisieren



  • ...
    Date time=new Date(System.currentTimeMillis());
    String now=time.getHours()+":"+time.getMinutes()+":"+time.getSeconds();
    Label lbuhr=new Label(now,Label.CENTER);
    ...
    

    Frage: Wie kann ich das Label aller 1 sekunde aktualisieren lassen?
    Ich habe es mit dieser Klasse probiert, aber nicht hinbekommen.

    class Timer extends Thread{
            private long sleeptime;	
    		public boolean control = true;
    		public Timer(String name, long sleeptime){
    				super(name);
    				this.sleeptime = sleeptime;
    			}//kons
    		public void run(){
    			while (true){
    				 try{ sleep(sleeptime);//sleeptime in ms
    				 }	
    				 catch (Exception e) {}
    				 }
    
    		}
    	}
    


  • ist doch schon richtig, du musst doch nur noch das label mit reinmachen.

    class UhrzeitAusgabe extends Thread
    {
    	JLabel label;
    	public UhrzeitAusgabe(JLabel l){ label = l; }
    	public void run()
    	{
    		while(true)
    		{
    			try { Thread.sleep(1000); } 
    			catch(InterruptedException e) {}
    			output();
    		}
    	}
    	private void output()
    	{
    		Date time = new Date(System.currentTimeMillis());
    		label.setText(time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds());
    	}
    
    }
    
    class Fenster extends JFrame
    {
    	public Fenster()
    	{
    		JLabel label = new JLabel("Uhrzeit");
    		getContentPane().add(label);
    		new UhrzeitAusgabe(label).start();
    	}
    }
    
    public class Uhrzeit
    {
    
    	public static void main( String args[] )
    	{
    		new Fenster().setVisible(true);	
    	}
    }
    

Anmelden zum Antworten