public static AffineTransform getRotateInstance(double theta)
import java.awt.geom.*;
...
AffineTransform aft = new AffineTransform();
aft.rotate(double theta, double x, double y);
/**
*double theta repräsentiert den winkel um welchen gedreht wird
*double (x/y) der Punkt um welchen gedreht werden soll
**/
...
double theta = 0;
//global definieren
private void rotateImage(){
theta++;
}
public void paint(Graphics g){
AffineTransform aft = new AffineTransform();
aft.rotate(Math.toRadians(theta), double x, double y);
...
}
public void run(){
while(true){
this.rotateImage();
try{
Thread.sleep(int milis);
}
....
}
import java.applet.*; // Import befehle
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.awt.geom.*;
public class Main extends Applet implements Runnable
{
Thread t;
boolean bWeiter=true;
double theta = 0;
int milies=10;
public void init ()
{
}
public void start()
{
t = new Thread(this);
t.start();
}
public void stopp()
{
bWeiter=false;
}
public void run()
{
while (bWeiter)
{
this.rotateImage();
try { t.sleep(milies);}
catch (Exception e) { }
repaint();
}
}
private void rotateImage(){
theta++;
}
public void paint(Graphics g){
AffineTransform aft = new AffineTransform();
aft.rotate(Math.toRadians(theta), double x, double y);
}
}
AffineTransform aft = new AffineTransform();
aft.rotate(theta, x, y);
g.setTransform(aft);
Graphics2D g2d = (Graphics2D) g;
g2d.setTransform(aft);
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.awt.geom.*;
public class Main extends Applet implements Runnable
{
Thread t;
boolean bWeiter = true;
double theta = 0;
int milis = 25;
double x = 150;
double y = 150;
public void init()
{
}
public void start()
{
t = new Thread(this);
t.start();
}
public void stopp()
{
bWeiter = false;
}
public void run()
{
while(bWeiter)
{
this.rotateImage();
repaint();
try
{
t.sleep(milis);
}
catch(InterruptedException e)
{
}
}
}
private void rotateImage()
{
theta++;
}
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D) g;
AffineTransform aft = new AffineTransform();
aft.rotate(Math.toRadians(theta), x, y);
g2d.setTransform(aft);
g2d.setColor(new Color(255,0,0));
g2d.drawRect(100,100,100,100);
}
}
X_Master hat gesagt.:Jetzt ist noch ein neuer Fehler aufgetaucht.
Main.java:52: illegal character: \160
g2d.drawLine(100,100,100,100);
^
1 error
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.awt.geom.*;
public class Main extends Applet implements Runnable
{
Thread t;
boolean bWeiter=true;
// Fly F1 = new Fly();
double theta = 0;
double x = 150;
double y = 150;
int milies=10;
public void init ()
{
}
public void start()
{
t = new Thread(this);
t.start();
}
public void stopp()
{
bWeiter=false;
}
public void run()
{
while (bWeiter)
{
this.rotateImage();
try { t.sleep(milies);}
catch (Exception e) { }
repaint();
}
}
private void rotateImage(){
theta++;
}
public void paint(Graphics g){
Graphics2D g2d = (Graphics2D) g;
AffineTransform aft = new AffineTransform();
aft.rotate(theta, x, y);
g2d.setTransform(aft);
g2d.drawRect(100,100,100,100);
}
}
aft.rotate(Math.toRadians(theta), double x, double y);
macfreakz hat gesagt.:@X-Master: Ich muss dir was ehrlich sagen: ich finde deine Postings wirklich blöd ... du hättest Java doch von anfang an zu lernen und nicht gleich am Ende oder mittendrin! Ich sehe, du hast wirklich null Ahnung über Java und versuchst nur, die Code zu kopieren. Die bei dir auftretenen Probleme können doch jeder lösen, der schon Java Grundlagen hat! Zum Glück hat Kerberus Lust, dir 100 % zu helfen ... :bloed:
Jetzt zu deinem Problem: du wirst merken, dass das Fenster stark ruckeln wird. Du musst eine spezielle Zeichnen-Technik anwenden, sie heisst "DoubleBuffering". Mehr darüber benutze die Suchfunktion hier ... viel Spass ... (ich empfehle dir, vorher zuerst die Java Grundlagen zu lernen ... )
@Kerberus: sehr lieb, wie du X-Master geholfen hast! In dieser Weise sollst du beim näcshten Mal nicht machen, gell?
macfreakz hat gesagt.:@X_Master: 1/2 Grundlagen hast du im Kopf? Ich kann kaum fassen ... wie du über dich selbst so beurteilen kannst.
Diese Zeile sagt schon viel aus:
Code:aft.rotate(Math.toRadians(theta), double x, double y);
Jede Java Anfänger hätte diese Zeile sofort korrigieren können!!!
Nimm Javabuch und lerne nochmals von vorne an ... [/code]