L
luucci
Gast
Ey zusammen
Wie schaffe ich es, einen Thread zu erstellen, der mir Polygone in einem bestimmten Zeitintervall nacheinander laufen lässt??
hier der Quelcode:
/* Thomas.java */
import java.awt.event.*;
import java.applet.*;
import java.awt.*;
public class Thomas
extends Applet{
private Image dbImage;
private Graphics dbg;
int farbe = 0;
public void paint(Graphics g)
{ int[] XpunkteH = {30,30,50,50,90,90,110,110,90,90,50,50};
int[] YpunkteH = {30,130,130,90,90,130,130,30,30,70,70,30};
int[] XpunkteA = {130,150,160,180,190,210,180,160};
int[] YpunkteA = {130,130,100,100,130,130,30,30};
int[] XpunkteA1 = {160,180,170};
int[] YpunkteA1 = {80,80,50};
int[] XpunkteP = {230,250,250,270,270,250,230};
int[] YpunkteP = {130,130,80,80,30,30,30};
int[] XpunkteP2 = {330,350,350,370,370,350,330};
int[] XpunkteY = {430,460,460,480,480,510,490,470,450};
int[] YpunkteY = {30,80,130,130,80,30,30,60,30,};
if (farbe == 0){
g.setColor(Color.blue);
farbe = 1;
}
else{
g.setColor(Color.blue);
g.drawPolygon(XpunkteH,YpunkteH,12);
g.fillPolygon(XpunkteH,YpunkteH,12);
g.drawPolygon(XpunkteA,YpunkteA,8);
g.fillPolygon(XpunkteA,YpunkteA,8);
g.drawOval(230,30,80,50);
g.fillOval(230,30,80,50);
g.drawOval(330,30,80,50);
g.fillOval(330,30,80,50);
g.drawPolygon(XpunkteP,YpunkteP,7);
g.fillPolygon(XpunkteP,YpunkteP,7);
g.drawPolygon(XpunkteP2,YpunkteP,7);
g.fillPolygon(XpunkteP2,YpunkteP,7);
g.drawPolygon(XpunkteY,YpunkteY,9);
g.fillPolygon(XpunkteY,YpunkteY,9);
}
if (farbe == 0){
g.setColor(Color.white);
farbe = 1;
}
else{
g.setColor(Color.white);
g.drawPolygon(XpunkteA1,YpunkteA1,3);
g.fillPolygon(XpunkteA1,YpunkteA1,3);
}}
public void update (Graphics g)
{
// Initialisierung des DoubleBuffers
if (dbImage == null)
{
dbImage = createImage (this.getSize().width, this.getSize().height);
dbg = dbImage.getGraphics ();
}
// Bildschirm im Hintergrund löschen
dbg.setColor (getBackground ());
dbg.fillRect (0, 0, this.getSize().width, this.getSize().height);
// Auf gelöschten Hintergrund Vordergrund zeichnen
dbg.setColor (getForeground());
paint (dbg);
// Nun fertig gezeichnetes Bild Offscreen auf dem richtigen Bildschirm anzeigen
g.drawImage (dbImage, 0, 0, this);
}
}
mfg luucci
Wie schaffe ich es, einen Thread zu erstellen, der mir Polygone in einem bestimmten Zeitintervall nacheinander laufen lässt??
hier der Quelcode:
/* Thomas.java */
import java.awt.event.*;
import java.applet.*;
import java.awt.*;
public class Thomas
extends Applet{
private Image dbImage;
private Graphics dbg;
int farbe = 0;
public void paint(Graphics g)
{ int[] XpunkteH = {30,30,50,50,90,90,110,110,90,90,50,50};
int[] YpunkteH = {30,130,130,90,90,130,130,30,30,70,70,30};
int[] XpunkteA = {130,150,160,180,190,210,180,160};
int[] YpunkteA = {130,130,100,100,130,130,30,30};
int[] XpunkteA1 = {160,180,170};
int[] YpunkteA1 = {80,80,50};
int[] XpunkteP = {230,250,250,270,270,250,230};
int[] YpunkteP = {130,130,80,80,30,30,30};
int[] XpunkteP2 = {330,350,350,370,370,350,330};
int[] XpunkteY = {430,460,460,480,480,510,490,470,450};
int[] YpunkteY = {30,80,130,130,80,30,30,60,30,};
if (farbe == 0){
g.setColor(Color.blue);
farbe = 1;
}
else{
g.setColor(Color.blue);
g.drawPolygon(XpunkteH,YpunkteH,12);
g.fillPolygon(XpunkteH,YpunkteH,12);
g.drawPolygon(XpunkteA,YpunkteA,8);
g.fillPolygon(XpunkteA,YpunkteA,8);
g.drawOval(230,30,80,50);
g.fillOval(230,30,80,50);
g.drawOval(330,30,80,50);
g.fillOval(330,30,80,50);
g.drawPolygon(XpunkteP,YpunkteP,7);
g.fillPolygon(XpunkteP,YpunkteP,7);
g.drawPolygon(XpunkteP2,YpunkteP,7);
g.fillPolygon(XpunkteP2,YpunkteP,7);
g.drawPolygon(XpunkteY,YpunkteY,9);
g.fillPolygon(XpunkteY,YpunkteY,9);
}
if (farbe == 0){
g.setColor(Color.white);
farbe = 1;
}
else{
g.setColor(Color.white);
g.drawPolygon(XpunkteA1,YpunkteA1,3);
g.fillPolygon(XpunkteA1,YpunkteA1,3);
}}
public void update (Graphics g)
{
// Initialisierung des DoubleBuffers
if (dbImage == null)
{
dbImage = createImage (this.getSize().width, this.getSize().height);
dbg = dbImage.getGraphics ();
}
// Bildschirm im Hintergrund löschen
dbg.setColor (getBackground ());
dbg.fillRect (0, 0, this.getSize().width, this.getSize().height);
// Auf gelöschten Hintergrund Vordergrund zeichnen
dbg.setColor (getForeground());
paint (dbg);
// Nun fertig gezeichnetes Bild Offscreen auf dem richtigen Bildschirm anzeigen
g.drawImage (dbImage, 0, 0, this);
}
}
mfg luucci