Hallo
,
ich weiss das Thema gibt es sehr oft, dass manchmal eine Zeichnung auf dem Applet verschwindet, wenn ein anders Fenster davor gezogen wird oder wenn es kleiner oder größer gemacht wird. Ich habe gerade das Problem und weiss nicht genau, was ich machen soll. Denn es gibt mehere Ursachen für das Problem. Zum einen heisst es, man hätte die Paint-, repaint- oder update-Methode falsch eingesetzt. Zum anderen heisst es, man solle die Zeichung per BufferedImage und createGraphics speichern und neuladen. Ich weiss jetzt ehrlich gesagt nicht, was das Richtige in meinem Fall ist, deshalb schicke ich Euch den relevanten Teil meines Codes mit. Es wäre nett, wenn mir da jemand weiterhelfen könnte:
Kann es vielleicht sogar an meinem leeren Konstruktor liegen?
ich weiss das Thema gibt es sehr oft, dass manchmal eine Zeichnung auf dem Applet verschwindet, wenn ein anders Fenster davor gezogen wird oder wenn es kleiner oder größer gemacht wird. Ich habe gerade das Problem und weiss nicht genau, was ich machen soll. Denn es gibt mehere Ursachen für das Problem. Zum einen heisst es, man hätte die Paint-, repaint- oder update-Methode falsch eingesetzt. Zum anderen heisst es, man solle die Zeichung per BufferedImage und createGraphics speichern und neuladen. Ich weiss jetzt ehrlich gesagt nicht, was das Richtige in meinem Fall ist, deshalb schicke ich Euch den relevanten Teil meines Codes mit. Es wäre nett, wenn mir da jemand weiterhelfen könnte:
Kann es vielleicht sogar an meinem leeren Konstruktor liegen?
Code:
public class itemalsfunk extends Applet implements ActionListener
{
Graphics stift;
static boolean zeichne = false;
MyCanvas zeichenstift;
public void init ()
{
stift = getGraphics();
zeichenstift = new MyCanvas(stift);
panel[3].add(zeichenstift);
}
public void actionPerformed (ActionEvent e)
{
String command = e.getActionCommand();
if(command.equals("Los"))
{
Hauptpanel.setVisible(false);
zeichne=true;
zeichenstift.paint(stift);
}
validate();
repaint();
}
}
class MyCanvas extends Canvas
{
public MyCanvas(Graphics img)
{
}
public void paint(Graphics g)
{
if (itemalsfunk.zeichne==true)
{
g.setColor(Color.lightGray);
g.fillRect(150,100,100,20);
g.setColor(Color.black);
update(g);
repaint();
}
}
}