G
Guest
Gast
Ich habe folgendes Problem, bei dem mir Dr. Google nicht helfen konnte (ja... sowas gibts wirklich...). Vielleicht habe ich aber auch nur ein Brett vor dem Kopf, ich weiss es nicht.
Also, zur Sache:
Ich habe eine Klasse PolarGrid, die JPanel erweitert (extends). Die paintComponent-Methode beinhaltet grafische Objekte, die beim instantiieren der Klasse gezeichnet werden. In diesem speziellen Fall werden horizontale und vertikale Linien sowie Achsenbezeichner usw. gezeichnet. Das klappt soweit auch sehr gut, indem ich einfach innerhalb der paintComponent-Methode drawLine(...) usw. aufrufe. Sogar die Zeichnung eines etwas dickeren Punkts über eine andere Methode der Klasse klappt.
Also gut: Ich habe also meine leere Grid-Vorlage. Nun möchte ich gerne Punkte und Linien an beliebigen Stellen (Erkennung durch Mausklicks... auch das funktioniert) machen. Zu diesem Zweck habe ich einen MouseListener in einer anderen Klasse untergebracht, der auf diese Klicks reagiert und sie korrekt auswertet. Diese andere Klasse, nennen wir sie GridManager, soll nun das PolarGrid-Objekt veranlassen an dieses Koordinaten Punkte zu zeichnen.
Also rufe ich PolarGrid.setMeasurePoint(int x, int y) auf (das ist die Klasse die bei aufurufen von innerhalb der paintComponent-Methode funktioniert hat). In dieser Klasse steht dann der eigentliche befehl fillOval(...).
Und siehe da: Es tut sich nichts!
Naja, nichts ist zuviel gesagt: Die paintComponent wird nach einem Repaint aufgerufen und das leere Grid wird nochmal gemalt... von meinem Punkt, den ich da einfügen wollte ist aber weiterhin nichts zu sehen.
Weiss jemand einen Rat?
Danke!
P.S.: Die Methode zum zeichnen (g.drawOval(...) ) wird definitiv aufgerufen!
Also, zur Sache:
Ich habe eine Klasse PolarGrid, die JPanel erweitert (extends). Die paintComponent-Methode beinhaltet grafische Objekte, die beim instantiieren der Klasse gezeichnet werden. In diesem speziellen Fall werden horizontale und vertikale Linien sowie Achsenbezeichner usw. gezeichnet. Das klappt soweit auch sehr gut, indem ich einfach innerhalb der paintComponent-Methode drawLine(...) usw. aufrufe. Sogar die Zeichnung eines etwas dickeren Punkts über eine andere Methode der Klasse klappt.
Also gut: Ich habe also meine leere Grid-Vorlage. Nun möchte ich gerne Punkte und Linien an beliebigen Stellen (Erkennung durch Mausklicks... auch das funktioniert) machen. Zu diesem Zweck habe ich einen MouseListener in einer anderen Klasse untergebracht, der auf diese Klicks reagiert und sie korrekt auswertet. Diese andere Klasse, nennen wir sie GridManager, soll nun das PolarGrid-Objekt veranlassen an dieses Koordinaten Punkte zu zeichnen.
Also rufe ich PolarGrid.setMeasurePoint(int x, int y) auf (das ist die Klasse die bei aufurufen von innerhalb der paintComponent-Methode funktioniert hat). In dieser Klasse steht dann der eigentliche befehl fillOval(...).
Und siehe da: Es tut sich nichts!
Naja, nichts ist zuviel gesagt: Die paintComponent wird nach einem Repaint aufgerufen und das leere Grid wird nochmal gemalt... von meinem Punkt, den ich da einfügen wollte ist aber weiterhin nichts zu sehen.
Weiss jemand einen Rat?
Danke!
P.S.: Die Methode zum zeichnen (g.drawOval(...) ) wird definitiv aufgerufen!