ich hab nen neues problem mit meinen kleinen java applet. diesmal will ich, nachdem ich endlich die blasen aus dem see hab aufteigen lassen, ein gezeichnetes strichmenschen bei beendigung des aufsteigens der blasen mit weiß übermalen und ein anderes anstatt des alten "erscheinen" lassen.
so hier mal der code:
so, ich würd gern wissen, wo da der wurm drin steckt. danke im vorraus
so hier mal der code:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.geom.*;
public class LakeNyos4 extends JFrame
{
Graphics comp;
public LakeNyos4()
{
super("LAKE NYOS");
setTitle("Lake Nyos");
setSize(1000,1000);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MapPane LakeNyos1 = new MapPane();
Container content = getContentPane();
content.add(LakeNyos1);
setVisible(true);
LakeNyos1.starteBlasenBewegung1();
LakeNyos1.starteBlasenBewegung2();
LakeNyos1.starteBlasenBewegung3();
LakeNyos1.starteBlasenBewegung4();
LakeNyos1.colormensch(comp); // versuch den menschen zu übermalen
}
public static void main(String[] arguments)
{
LakeNyos4 frame = new LakeNyos4();
}
}
class MapPane extends JPanel
{
Graphics comp;
Graphics2D comp1D = (Graphics2D)comp;
private int y = 450;
private int y2= 430;
private int y3 = 400;
private int y4 = 440;
public void menschen(Graphics comp) //zeichnet den menschen
{
Graphics2D comp1D = (Graphics2D)comp;
comp1D.setColor(Color.black);
GeneralPath ss = new GeneralPath();
ss.moveTo(25F,275F);
ss.lineTo(31F,265F);
ss.lineTo(37F,275F);
ss.lineTo(31F,265F);
ss.lineTo(31F,255F);
ss.lineTo(25F,250F);
ss.lineTo(31F,255F);
ss.lineTo(37F,250F);
ss.lineTo(31F,255F);
ss.lineTo(31F,265F);
ss.lineTo(25F,275F);
ss.closePath();
comp1D.draw(ss);
BasicStroke pen2 = new BasicStroke();
comp1D.setStroke(pen2);
Ellipse2D.Float em = new Ellipse2D.Float(27,246,8,8);
comp1D.fill(em);
}
public void totmensch(Graphics comp) //zeichnet den zweiten menschen (bloß ein strich zur veranschauung
{
Graphics2D comp2D = (Graphics2D)comp;
comp2D.setColor(Color.red);
GeneralPath tt = new GeneralPath();
tt.moveTo(25F,270F);
tt.lineTo(38F,270F);
tt.closePath();
comp2D.draw(tt);
}
public void colormensch(Graphics comp) //methode zur übermalung, funktioniert aber nicht
{
Thread e = new Thread(new Runnable()
{
public void run()
{
if (y > 320) //variablenveränderung findet in einer methode statt, die ich nicht mit kopiert habe
comp1D.setColor(Color.black);
else
comp1D.setColor(Color.black);
}
});
e.start();
}
public void paintComponent(Graphics comp)
{
menschen(comp);
totmensch(comp);
}
}
so, ich würd gern wissen, wo da der wurm drin steckt. danke im vorraus