JLabel repaint

  • Themenstarter Themenstarter s_fgraf1
  • Beginndatum Beginndatum
S

s_fgraf1

Gast
Hallo...
ich soll eine Uhr programmieren, bei der man zwischen einer normalen Uhr und einer digitalen Uhr umschalten kann...
das funktioniert eigentlich auch ganz gut, hat soweit eigentlich alles geklappt.
Damit meine normale Uhr in meinem JPanel sich jede Sekunde erneuert und damit die aktuelle neue Uhrzeit angezeit wird hab ich nen timer programmiert, das ganze sieht so aus:

Java:
		// Timer, löst alle 1000 Millisekunden eine neue Anzeige des Panels aus
		Timer t = new Timer(1000, new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				panel.repaint();
			}
		});
		
		t.start(); // Timer starten

Das funktioniert auch.

Wenn ich jetzt mein Programm auf die Digitaluhr umschalte steht diese allerdings bei der Zeit, um die ich das Programm gestartet habe. die digitaluhr hab ich über ein label gemacht...
ich habe versucht ein
label.repaint();
mit in den timer einzubauen, das hat aber nichts genutzt.

kann mir irgendjemand helfen???
 
ich hab ver sucht ein

label.repaint();

mit in den timer rein zu bauen, das hat mir aber leider gar nichts gebracht...
 
Das ist wohl richtig, das Label hab ich so definiert:

Java:
// Lable Digitaluhr
		label = new JLabel();
		frame.getContentPane().add(label);

		long sekunden = (System.currentTimeMillis() / 1000) % 60;
		long minuten = ((System.currentTimeMillis() / 60000) % 60);
		long stunden = (System.currentTimeMillis() / 3600000) % 24 + 2;

			if (sekunden<10&&minuten<10&&stunden<10) {
				label.setText("                              0"+stunden+":0"+minuten+":0"+sekunden);}
			else if (sekunden<10&&minuten<10&&stunden>9) {
				label.setText("                              "+stunden+":0"+minuten+":0"+sekunden);}
			else if (sekunden<10&&minuten>9&&stunden<10) {
				label.setText("                              0"+stunden+":"+minuten+":0"+sekunden);}
			else if (sekunden<10&&minuten>9&&stunden>9) {
				label.setText("                              "+stunden+":"+minuten+":0"+sekunden);}
			else if (sekunden>9&&minuten<10&&stunden<10) {
				label.setText("                              0"+stunden+":0"+minuten+":"+sekunden);}
			else if ( sekunden>9&&minuten<10&&stunden>9) {
				label.setText("                              "+stunden+":0"+minuten+":"+sekunden);}
			else if (sekunden>9&&minuten>9&&stunden<10) {
				label.setText("                              "+stunden+":"+minuten+":"+sekunden);}
			else{
				label.setText("                              "+stunden+":"+minuten+":"+sekunden);}
			
		label.setVisible(true);
 
So???

Java:
void digi(){
		long sekunden = (System.currentTimeMillis() / 1000) % 60;
		long minuten = (System.currentTimeMillis() / 60000) % 60;
		long stunden = (System.currentTimeMillis() / 3600000) % 24 + 2;

			if (sekunden<10&&minuten<10&&stunden<10) {
				label.setText("                              0"+stunden+":0"+minuten+":0"+sekunden);}
			else if (sekunden<10&&minuten<10&&stunden>9) {
				label.setText("                              "+stunden+":0"+minuten+":0"+sekunden);}
			else if (sekunden<10&&minuten>9&&stunden<10) {
				label.setText("                              0"+stunden+":"+minuten+":0"+sekunden);}
			else if (sekunden<10&&minuten>9&&stunden>9) {
				label.setText("                              "+stunden+":"+minuten+":0"+sekunden);}
			else if (sekunden>9&&minuten<10&&stunden<10) {
				label.setText("                              0"+stunden+":0"+minuten+":"+sekunden);}
			else if ( sekunden>9&&minuten<10&&stunden>9) {
				label.setText("                              "+stunden+":0"+minuten+":"+sekunden);}
			else if (sekunden>9&&minuten>9&&stunden<10) {
				label.setText("                              "+stunden+":"+minuten+":"+sekunden);}
			else{
				label.setText("                              "+stunden+":"+minuten+":"+sekunden);}
			
		}

und dann im timer ein

label.digi();

????


funktioniert nämlich nicht...
 
ich bekomm schon in der methode nen fehler,
nämlich nen:

Syntax error on token "void", new expected in zeile 1
 

Neue Themen


Zurück
Oben