Hallo,
wahrscheinlich schon des öfteren so ähnlich gestellt...
Aber ich find den Fehler nicht. Irgendwie funktioniert repaint nicht so wie ich mir das vorstelle. Eigentlich dürfte immer nur die aktuelle Variante des Hauses gezeichnet werden.Zeichnet sich aber immer alles...
Alles anzeigen
wahrscheinlich schon des öfteren so ähnlich gestellt...
Aber ich find den Fehler nicht. Irgendwie funktioniert repaint nicht so wie ich mir das vorstelle. Eigentlich dürfte immer nur die aktuelle Variante des Hauses gezeichnet werden.Zeichnet sich aber immer alles...
Quellcode
- import java.awt.*;
- import javax.swing.*;
- import java.awt.geom.*;
- import java.awt.event.*;
- import java.awt.Component.*;
- import java.applet.*;
- public class Haus extends JApplet implements Runnable{
- int x =20;
- int y =20;
- Polygon polygon;
- public void init(){
- setBackground(Color.BLUE);
- }
- public void start(){
- Thread th = new Thread (this);
- th.start();
- }
- public void run(){
- Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
- while (x<200){
- x +=20;
- repaint();
- try{
- Thread.sleep(20);
- }catch (InterruptedException ex){}
- Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
- }
- }
- public void paint(Graphics gc){
- Graphics2D g = (Graphics2D) gc;
- int a[] = {x,x,x+30,x+30,x+15};
- int b[] = {y,y+30,y+30,y,y-15};
- polygon = new Polygon (a,b,5);
- g.setColor(Color.red);
- g.fill(polygon);
- }
- }