analoge uhr die 10000 ;) - uhr läuft net so wie sie soll

Status
Nicht offen für weitere Antworten.
M

mlt

Gast
so das ist mein code
Code:
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.lang.*; 

public class DieUhr{

  public static void main(String[] args) { 
    Frame1 frame1 = new Frame1();
    Uhr uc = new Uhr();
    Thread t = new Thread (uc);
    t.start();
    uc.setRunFlag(false);
    
    frame1.addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{ System.exit(0);
			}
		} );
    
   
    frame1.add(uc);
    frame1.setSize(500,500);
    frame1.show();
	uc.run();
    
}


} 

class Frame1 extends Frame
{
	public Frame1()
	{
	}
}

class Uhr extends Canvas implements Runnable{	
  int mitte = 250;
  Calendar date = new GregorianCalendar();

  int hours = date.get(Calendar.HOUR_OF_DAY);
  int minutes = date.get(Calendar.MINUTE);
  int seconds = date.get(Calendar.SECOND);
  
  
    private volatile boolean runFlag;
  public void setRunFlag (boolean runFlag) {
    this.runFlag = runFlag;
  }
  public boolean getRunFlag() {
    return this.runFlag;
  }
  public void run() {
    runFlag=true;
    while (runFlag) {
      
   xstu(date.get(Calendar.HOUR_OF_DAY));
   xmin(date.get(Calendar.MINUTE));
   xsek(date.get(Calendar.SECOND));
  
   
   	
		try 
		{
        	Thread.sleep(1000);
        }
        catch(InterruptedException e) 
        {
        }
            repaint();
		
      
      
    }
  }

  public void paint(Graphics g) { 
  
  g.setColor(Color.BLACK);
  g.fillRect(0,0,500,500);
  g.drawOval(240,240,20,20);
  g.setColor(Color.GRAY);
  g.fillRect(150,150,200,200);
  g.setColor(Color.BLACK);
  g.drawOval(240,240,20,20);
  
g.setColor(Color.WHITE);
  g.drawLine(
  mitte,mitte,mitte+(int)(60*Math.cos(Math.toRadians(hours%12*30+minutes/2.0-90))),
  mitte+(int)(60*Math.sin(Math.toRadians(hours%12*30+minutes/2.0-90))));
g.setColor(Color.WHITE);
  g.drawLine(
  mitte,mitte,mitte+(int)(85*Math.cos(Math.toRadians(minutes*6-90))),
  mitte+(int)(85*Math.sin(Math.toRadians(minutes*6-90))));
g.setColor(Color.RED);
  g.setColor(Color.RED);
  g.drawLine(
  mitte,mitte,mitte+(int)(90*Math.cos(Math.toRadians(seconds*6-90))),
  mitte+(int)(90*Math.sin(Math.toRadians(seconds*6-90))));
	

} 


	public void xstu(int xstunden)
	{
		hours=xstunden;
	}
	
		public void xmin(int xminuten)
	{
		minutes=xminuten;
	}
	
		public void xsek(int xsekunden)
	{
		seconds=xsekunden;
	}



}


ja die uhr wird zwar korrekt gezeichnet ... aber sie läuft halt net .. .weiß immo so garnicht woran es liegen kann ...
und naja ist mein erster thread den ich programmiere .... =/

mfg malte

ps: danke
 
G

Guest

Gast
hm danke für die antwort aber ich hab keine ahnung wie/wo ich des einbinden soll :shock: :?:
 

Wildcard

Top Contributor
Ich sehe gerade du hast:
Code:
  Uhr uc = new Uhr();
    Thread t = new Thread (uc);
    t.start();
und
Code:
 uc.run();
Das uc.run() muss weg.
Und mach aus frame1.show() frame1.setVisible(true);
 
G

Guest

Gast
done. es tut sich nur leider net wirklich mehr als vorher ... ist vllt noch ein fehler in "Uhr" ?! :oops:
 

Wildcard

Top Contributor
Hab's dir mal repariert:
Code:
import java.awt.Color;
import java.awt.Graphics;
import java.util.Calendar;
import java.util.GregorianCalendar;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class DieUhr {

	public static void main(String[] args) {
		JFrame frame1 = new JFrame();
		Uhr uc = new Uhr();
		Thread t = new Thread(uc);
		t.start();
		
		frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		frame1.add(uc);
		frame1.setSize(500, 500);
		frame1.setVisible(true);

	}

}

class Uhr extends JPanel implements Runnable {
	int mitte = 250;
	int hours,minutes,seconds;

	public void run() {
		while (true) {

			Calendar date = new GregorianCalendar();

			hours = date.get(Calendar.HOUR_OF_DAY);

			minutes = date.get(Calendar.MINUTE);

			seconds = date.get(Calendar.SECOND);

			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
			}
			repaint();

		}
	}

	public void paint(Graphics g) {

		g.setColor(Color.BLACK);
		g.fillRect(0, 0, 500, 500);
		g.drawOval(240, 240, 20, 20);
		g.setColor(Color.GRAY);
		g.fillRect(150, 150, 200, 200);
		g.setColor(Color.BLACK);
		g.drawOval(240, 240, 20, 20);

		g.setColor(Color.WHITE);
		g.drawLine(mitte, mitte, mitte
				+ (int) (60 * Math.cos(Math.toRadians(hours % 12 * 30 + minutes
						/ 2.0 - 90))), mitte
				+ (int) (60 * Math.sin(Math.toRadians(hours % 12 * 30 + minutes
						/ 2.0 - 90))));
		g.setColor(Color.WHITE);
		g
				.drawLine(mitte, mitte, mitte
						+ (int) (85 * Math
								.cos(Math.toRadians(minutes * 6 - 90))), mitte
						+ (int) (85 * Math
								.sin(Math.toRadians(minutes * 6 - 90))));
		g.setColor(Color.RED);
		g.setColor(Color.RED);
		g
				.drawLine(mitte, mitte, mitte
						+ (int) (90 * Math
								.cos(Math.toRadians(seconds * 6 - 90))), mitte
						+ (int) (90 * Math
								.sin(Math.toRadians(seconds * 6 - 90))));

	}

}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Tomcat GWT Beispielprojekt läuft nicht. Tools - Maven, Gradle, Ant & mehr 0
T build job läuft nicht mit findBugs...WARUM? Tools - Maven, Gradle, Ant & mehr 1
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
P Applet Java Applet läuft im Browser nicht mehr (HTTPClient - NoClassDefFoundError) Tools - Maven, Gradle, Ant & mehr 3
B Maven Selenium-Test läuft nicht unter Firefox Tools - Maven, Gradle, Ant & mehr 2
G Webstart Anwendung läuft unter OSX aber nicht unter Windows Tools - Maven, Gradle, Ant & mehr 5
H Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 3
Q Applet Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 14
P Applet läuft nicht in Browser Tools - Maven, Gradle, Ant & mehr 21
sliwalker Trotz FAQ, Forum und Google läuft Applet im Firefox nicht Tools - Maven, Gradle, Ant & mehr 6
H JApplet läuft zwar korrekt, bleibt aber unsichtbar Tools - Maven, Gradle, Ant & mehr 3
G Applet läuft nicht auf Apache Server sonst schon. Tools - Maven, Gradle, Ant & mehr 4
G Applet läuft in Eclipse aber im Browser nicht Tools - Maven, Gradle, Ant & mehr 12
G Applet läuft nur im IE nicht Tools - Maven, Gradle, Ant & mehr 3
M JApplet läuft in Eclipse, aber nicht in den Browsern Tools - Maven, Gradle, Ant & mehr 7
G Webcam läuft nur bis Java VM 1.4 ab 1.5 gibts fehler Tools - Maven, Gradle, Ant & mehr 2
H Applet läuft unter Windows 98 nicht! Tools - Maven, Gradle, Ant & mehr 6
L Applet läuft 'nur' auf der JVM Tools - Maven, Gradle, Ant & mehr 5
W Applet läuft im JBuilder - Vorschaufenster aber im IE nicht Tools - Maven, Gradle, Ant & mehr 9
A Java Applet läuft nicht, wenn via IIS geladen Tools - Maven, Gradle, Ant & mehr 2
G Applet läuft erst, nach dem ich es abgeschrieben hatte Tools - Maven, Gradle, Ant & mehr 8

Ähnliche Java Themen

Neue Themen


Oben