Veröffentlicht 18. April 200817 j Hi. Ich habe ein Programm das beim Schliessen die Position der Scrollbars speichert. Beim erneuten Öffnen sollen die Scrollbars wieder da sein, wo sie vor dem Schlißen waren. Die horizontale Scrollbar klappt auch soweit, nur die vertikale möchte irgendwie nicht so ganz. Sie bleibt einfach ganz oben, während die horzontale wieder dahin springt, wo sie vor dem Schlißen war. Zum Ändern benutze ich folgenden Code: this.scrollPane.getViewport().setViewPosition(new java.awt.Point(this.scrollPosX,this.scrollPosY)); scrollPosX und scrollPosY sind vom Typ int. Kann mir jemand helfen? Was mache ich falsch? Danke euch schonmal im Vorraus!
18. April 200817 j Also soweit ich das sehe, und gerade ausgetestet habe, machst nichts falsch. Die Anweisung ist schon richtig so. Bist du dir denn aber auch sicher, dass dein scrollPosY den richtigen Wert hat, sobald er die ScrollPane wieder an ihren alten Platz scrollt? Sieht für mich ganz so aus, als wenn die am Anfang entweder nicht richtig gesetzt wird oder zwischendurch nen anderen Wert bekommt.
18. April 200817 j Autor Also bei jedem Schließen speicher ich es in einer Datei. Bei jedem Start werden die Daten ausgelesen, wenn sie vorhanden sind. In der Config steht gerade: scrollX#499 scrollY#104 Bevor ich dann meinen Befehl zum Setzen aufrufe habe ich mal einen Testdruck gemacht, der beide Variabeln ausgibt. Und scheinbar haben sie die richtigen Werte.
20. April 200817 j Wird vielleicht nach dem Setzen der Position eine automatische Selektierung oder etwas in der Art durchgeführt, so daß der Viewport wieder nach ganz oben gesetzt wird?
21. April 200817 j Autor Hab den Fehler gefunden. Hab nach dem Setzen ein validate() aufgerufen. Jetzt funktioniert es jedenfalls
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.