JScrollPane
felix
- java
Hallo Gemeinde,
ich bekomm ne Krise!!
Ich hab ein JEditorPane in ein JScrollPane gesteckt und will, dass wenn der anzuzeigente Text größer is, als ich Platz hab, dass ich oben Anfangen zu lesen. Aber das ScrollPane scrollt widererwartend nach unten. Wie kann ich das verhindern bzw. ändern??
Ich hab auch schon verschiedene Sachen ausprobiert, aber mehr als ein kurzes raufzucken des Scrollbalkens hab ich nicht hinbekommen.
Hier mal meine Versuche:
JScrollPane myPane = new JScrollPane();
myPane.getVerticalScrollBar().setValue(0); -> zuckt nur
myPane.getViewport().setViewPosition(new Point(0,0)); -> zuckt nur
myPane.setViewport(new Rectangle(0,0,width,height)); -> nichts
Mehr is mir erstmal nicht eingefallen. Jemand ne Ahnung, was ich noch ausprobieren könnte bzw warum er dem Balken nach oben schiebt, ihn aber gleich danach wieder nach unten?
Ich bin absolut ratlos..
Hallo felix,
Ich hab ein JEditorPane in ein JScrollPane gesteckt und will, dass wenn der anzuzeigente Text größer is, als ich Platz hab, dass ich oben Anfangen zu lesen. Aber das ScrollPane scrollt widererwartend nach unten. Wie kann ich das verhindern bzw. ändern??
...auch wenn das nix mit HTML bzw. im Entferntesten mit Java/JSP zu tun hat, sondern eher volle Kanne Swing...
Mehr is mir erstmal nicht eingefallen. Jemand ne Ahnung, was ich noch ausprobieren könnte bzw warum er dem Balken nach oben schiebt, ihn aber gleich danach wieder nach unten?
ich weiß nicht genau, wo dein Problem ist, bzw. was genau du machen willst. Eine ganz simple scrollende JEditorPane bekommst du eigentlich sehr einfach mit sowas wie z.B.
JEditorPane bla = new JEditorPane();
JScrollPane scrollpane = new JScrollPane(bla);
scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
irgendeinContainer.add(bla);
Grüße,
Sven
Hallo Sven,
JEditorPane bla = new JEditorPane();
JScrollPane scrollpane = new JScrollPane(bla);
scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);irgendeinContainer.add(bla);
so wie Du das beschrieben hast, sieht es bei mir auch aus. Mein Problem ist, dass wenn der Text mehr Platz braucht als ich hab und die Scrollbalken ins Spiel kommen, dann scrollt die nach unten. Das will ich aber nicht, weil ich den Text ja von oben an lesen will! Also will ich, dass der Scrollbalken oben stehtund nicht unten. Wie kann ich das anstellen?
Ich hoffe, Du weiß jetz wo der Hase im Pfeffer liegt..
Mir gehen nämlich so langsam die Ideen aus. :(
Hallo felix,
so wie Du das beschrieben hast, sieht es bei mir auch aus. Mein Problem ist, dass wenn der Text mehr Platz braucht als ich hab und die Scrollbalken ins Spiel kommen, dann scrollt die nach unten. Das will ich aber nicht, weil ich den Text ja von oben an lesen will! Also will ich, dass der Scrollbalken oben stehtund nicht unten. Wie kann ich das anstellen?
also bei meinen Anwendungen ist das genau andersrum, die Scrollbar
bleibt per default oben und ich muss sie erst bei jedem Verändern
der "Textbox" nach unten setzen. Dafür gibts dann quasi "nen kleinen"
Wrapper.
Wenn du willst, kann ich dir eine völlig zusammenhangslose kleine
Klasse hierhin schrieben, die sowas (u.a.) macht. Sie stammt aus
einer "Widget-Sammlung" eines mehrere dutzend tausend Zeilen
langen Projektes, welches ich vor einigen Monaten gemacht habe
(als Demo ist es eigenständig lauffähig):
http://rafb.net/paste/results/26hxLY72.html
(Forumssystem lässt den Sourcecode nicht rein weil zu lang :( )
hab jetzt um die späte Stunde keine Lust mehr, das wesentliche
rauszuholen.
Grüße,
Sven
Mein JBuilder kommt mit dem ContextListener nicht klar. :(