Guten Morgen.
Ich hab ein JTextPane, in welches vom Benutzer oder vom Programm selbst Text eingefügt wird. Jedesmal wenn dies passiert, springt mir das JScrollPane an den Anfang des Textes was mir gar nicht gefällt.
Ich wollte unter 'normalen' Umständen das Ende des Textes sehen.
Klappt auch wunderbar.
Danach hab ich mir überlegt, dass man auch Text markieren können soll (zum rauskopieren zB..).
Klappt soweit auch (auf die vorherige Bedingung wird jetzt kurz mal verzichtet) nur springt das JScrollPane wieder so weit nach oben, dass die getDot() Position gerade noch sichtbar ist.
Ich hätte aber gerne, dass das genau so bleibt wie ich es eingestellt habe, damit ich in aller Ruhe Text markieren kann.
Mein Ansatz war, mit der Höhe und der Position vom JTextPane zu spielen, bevor und nachdem ich Text einfüge, hat aber nicht funktioniert
Sollte ich diese Problem irgendwie lösen, dann gibt es noch eine 3. Bedingung:
Wenn ich an das Textende scrolle und nix markiert ist, solle laufend wieder das Textende angezeigt weren. Dies sollte aber nicht so schwer sein
lg
Ich hab ein JTextPane, in welches vom Benutzer oder vom Programm selbst Text eingefügt wird. Jedesmal wenn dies passiert, springt mir das JScrollPane an den Anfang des Textes was mir gar nicht gefällt.
Ich wollte unter 'normalen' Umständen das Ende des Textes sehen.
Code:
textfield.setCaretPosition(textfield.getDocument().getLength());
Danach hab ich mir überlegt, dass man auch Text markieren können soll (zum rauskopieren zB..).
Code:
int mark = textfield.getCaret().getMark();
int dot = textfield.getCaret().getDot();
// text einfügen
textfield.getCaret().setDot(mark);
textfield.getCaret().moveDot(dot);
Ich hätte aber gerne, dass das genau so bleibt wie ich es eingestellt habe, damit ich in aller Ruhe Text markieren kann.
Mein Ansatz war, mit der Höhe und der Position vom JTextPane zu spielen, bevor und nachdem ich Text einfüge, hat aber nicht funktioniert
Sollte ich diese Problem irgendwie lösen, dann gibt es noch eine 3. Bedingung:
Wenn ich an das Textende scrolle und nix markiert ist, solle laufend wieder das Textende angezeigt weren. Dies sollte aber nicht so schwer sein
lg