Bin auf ein Problem mit der Methode getViewport().setViewPosition(Point) der Klasse JScrollPane gestoßen.
Gegeben sei folgendes Code-Fragment:
Sollten in diesem Code-Snippet nicht p1 und p2 identische Koordinaten enthalten, sollte also getViewPosition() nicht denselben Point zurückliefern, den setViewPosition(Point) gesetzt hat? In der Applikation, an der ich gerade progge, kommt es hin und wieder vor, dass dies nicht der Fall ist. Manchmal sind p1 und p2 gleich, manchmal nicht. Hier z.B. die Ausgaben nach zweimaligem Durchlaufen der Codezeilen:
Wie man sieht, stimmen p1 und p2 beim ersten Mal überein, bei zweiten Mal nicht (das äußerst sich natürlich beim Laufen der Anwendung durch falsche Darstellung des in der JScrollPane enthaltenen JComponents).
Wer kennt sich hier aus? Sind weitere Details nötig?
TIA!
[EDIT] Titel geändert (war: Kann man sich auf setViewPosition(Point) verlassen?)
Gegeben sei folgendes Code-Fragment:
Code:
private JScrollPane scrollPane;
private int x, y;
:
:
Point p1 = new Point(x, y);
System.out.println("Before setViewPosition: " + p1);
scrollPane.getViewport().setViewPosition(p1);
Point p2 = scrollPane.getViewport().getViewPosition();
System.out.println("After getViewPosition : " + p2);
Sollten in diesem Code-Snippet nicht p1 und p2 identische Koordinaten enthalten, sollte also getViewPosition() nicht denselben Point zurückliefern, den setViewPosition(Point) gesetzt hat? In der Applikation, an der ich gerade progge, kommt es hin und wieder vor, dass dies nicht der Fall ist. Manchmal sind p1 und p2 gleich, manchmal nicht. Hier z.B. die Ausgaben nach zweimaligem Durchlaufen der Codezeilen:
Code:
Before setViewPosition: java.awt.Point[x=999807,y=999827]
After getViewPosition : java.awt.Point[x=999807,y=999827]
Before setViewPosition: java.awt.Point[x=1999614,y=1999654]
After getViewPosition : java.awt.Point[x=1999226,y=1999307]
Wie man sieht, stimmen p1 und p2 beim ersten Mal überein, bei zweiten Mal nicht (das äußerst sich natürlich beim Laufen der Anwendung durch falsche Darstellung des in der JScrollPane enthaltenen JComponents).
Wer kennt sich hier aus? Sind weitere Details nötig?
TIA!
[EDIT] Titel geändert (war: Kann man sich auf setViewPosition(Point) verlassen?)