Hallo,
ich bin grade ein bissel am Verzweifeln und finde meinen Fehler nicht. Warscheinlich sehe ich den Wald vor lauter Bäumen nicht.
Ich schreibe grade ein Programm bei dem bei einem Mausklick ein Kreuz auf ein JPanel gezeichnet werden soll.
Hierzu habe ich mir die Klasse DrawPoint geschrieben. Der im Konstuktor der Punkt für den Kreuz Mittelpunkt übergeben wird.
Aufgerufen wird das ganze in einer Klasse die nur die Anwendungsmethoden enthält.
Zeichenbrett ist hierbei vom Typ JPanel
GUI ist vom Typ JFrame
Das Problem bei dem Ganzen ist das bei einem Mausklick die paintComponent Methode aufgerufen wir aber leider kein Kreuz gezeichnet wird. Setze ich die Backgoundcolor von dp wird an der Stelle wie es sein sollte ein Farbiges Rechteck in den angegebenen bounds gezeichnet, also legt er den drawpoint auf jeden fall an, paintComponent wird auch aufgerufen. Woran könnte es noch liegen das er meine drawLine anweisungen in paintComponent nicht ausführt.
schon mal thx
Michael
ich bin grade ein bissel am Verzweifeln und finde meinen Fehler nicht. Warscheinlich sehe ich den Wald vor lauter Bäumen nicht.
Ich schreibe grade ein Programm bei dem bei einem Mausklick ein Kreuz auf ein JPanel gezeichnet werden soll.
Hierzu habe ich mir die Klasse DrawPoint geschrieben. Der im Konstuktor der Punkt für den Kreuz Mittelpunkt übergeben wird.
Java:
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JComponent;
public class drawPoint extends JComponent{
private int X,Y;
public drawPoint(Point p)
{
this.setBounds(p.x-5, p.y-5, 10, 10);
this.setLocation(p);
X = p.x;
Y = p.y;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(X-5, Y, X+5, Y);
g.drawLine(X, Y-5, X, Y+5);
}
}
Aufgerufen wird das ganze in einer Klasse die nur die Anwendungsmethoden enthält.
Zeichenbrett ist hierbei vom Typ JPanel
GUI ist vom Typ JFrame
Java:
@Override
public void mouseReleased(MouseEvent e)
{
drawPoint dp = new drawPoint(e.getPoint());
GUI.Zeichenbrett.add(dp);
GUI.Zeichenbrett.repaint();
}
Das Problem bei dem Ganzen ist das bei einem Mausklick die paintComponent Methode aufgerufen wir aber leider kein Kreuz gezeichnet wird. Setze ich die Backgoundcolor von dp wird an der Stelle wie es sein sollte ein Farbiges Rechteck in den angegebenen bounds gezeichnet, also legt er den drawpoint auf jeden fall an, paintComponent wird auch aufgerufen. Woran könnte es noch liegen das er meine drawLine anweisungen in paintComponent nicht ausführt.
schon mal thx
Michael