Hi. Ich hab ein Applet mit 2 Labels. Beide werden jeweils durch ne eigene Klasse, die von Label abgeleitet ist, repräsentiert und besitzen jedes eine Methode, in der ich Rechtecke usw. zeichne.
Die Instanzen der beiden Klassen sind L1 und L2. L1 hat ne Hintergrundfarbe, L2 ist durchsichtig.
In der Klasse, die von Applet abgeleitet ist, habe ich einen MouseListener implementiert. Zum zeichnen eines Rechtecks (für den Anfang reicht das) brauche ich in den beiden Label-Klassen das Graphic-Objekt des jeweiligen Labels, sowie die Koordinaten des Punktes, an dem ich die Maustaste drücke und die des Punktes, an dem ich sie loslasse.
In mouseReleased(MouseEvent MEvt) rufe ich dann die Methode 'Zeichnen', in z.B.: der Klasse von Label1, auf und übergebe die 5 Argumente.
Das funktioniert auch alles ganz gut sowiet und ich bekomme auch keine Fehlermeldung, weder beim compilieren, noch beim ausführen des Applets.
Das Problem ist: es wird nicht gezeichnet.
Hier ist mal der ungefähre Code:
Ich glaub so ungefähr war der Code. Ich komm jetzt bloss nich an den richtigen Code ran, weil ich nich zu Hause bin.
Hoffe mir kann jemand helfen bei dem gewurschel.
Die Instanzen der beiden Klassen sind L1 und L2. L1 hat ne Hintergrundfarbe, L2 ist durchsichtig.
In der Klasse, die von Applet abgeleitet ist, habe ich einen MouseListener implementiert. Zum zeichnen eines Rechtecks (für den Anfang reicht das) brauche ich in den beiden Label-Klassen das Graphic-Objekt des jeweiligen Labels, sowie die Koordinaten des Punktes, an dem ich die Maustaste drücke und die des Punktes, an dem ich sie loslasse.
In mouseReleased(MouseEvent MEvt) rufe ich dann die Methode 'Zeichnen', in z.B.: der Klasse von Label1, auf und übergebe die 5 Argumente.
Das funktioniert auch alles ganz gut sowiet und ich bekomme auch keine Fehlermeldung, weder beim compilieren, noch beim ausführen des Applets.
Das Problem ist: es wird nicht gezeichnet.
Hier ist mal der ungefähre Code:
Code:
public class Hauptklasse extends Applet implements MouseListener {
public int X1, Y1, X2, Y2;
public Graphic graphicL1, graphicL2;
public void init() {
//Komponenten setzen usw.
KlasseL1 L1 = new KlasseL1();
KlasseL2 L2 = new KlasseL2();
}
public void mousePressed(MouseEvent MEvt) {
X1 = MEvt.getX();
Y1 = MEvt.getY();
graphicL1 = L1.getGraphics();
graphicL2 = L2.getGraphics();
}
public void mouseReleased(MouseEvent MEvt) {
X2 = MEvt.getX();
Y2 = MEvt.getY();
L1.Zeichnen(graphicL1, X1, Y1, X2, Y2);
}
}
class KlasseL1 {
public void Zeichnen(Graphic graphic, int X1, int Y1, int X2, int Y2) {
graphic.drawRect(X1,Y1,X2-X1,Y2-Y1);
}
}
class KlasseL2 {
public void Zeichnen(Graphic graphic, int X1, int Y1, int X2, int Y2) {
graphic.drawRect(X1,Y1,X2-X1,Y2-Y1);
}
}
Ich glaub so ungefähr war der Code. Ich komm jetzt bloss nich an den richtigen Code ran, weil ich nich zu Hause bin.
Hoffe mir kann jemand helfen bei dem gewurschel.