JScrollPane automatyczne przenoszenie na doł

0

Witam wszystkich,
mam pewien kłopot, na którego temat nie mogę znaleźć (nie umiem) informacji. Chciałbym żeby JScrollPane automatycznie pokazywał mi to co jest na dole jego strony. Teraz gdy dodają się nowe dane do JScrollPane to te nie mieszczące się w JTextArea są widoczne dopiero po przesunięciu JScrollPane na dół.
Jest możliwość by JScrollPane robił to automatycznie?

0

Dodam, że używam funkcji scroll.setAutoscrolls( true );
niestety nie działa tak jak powinna. Jest inny sposób?

0

Pokaż może kod. Nie uzywam setAutoscrolls() i nigdy nie miałem problemu z automatycznym przewinięciem by pokazało się to co zostało dopisane na końcu. Problemy są gdy program dopisuje coś w środku lub na początku.
Jeśli chodzi o środek, to chyba trzeba się bawić z metodą scrollRectToVisible(), jeśli chodzi o pokazanie tego co na początku, to wystarczy po dopisaniu wywołać setCaretPosition(0).

0

mam dokładnie taki sam problem. Korzystam z JTextPane i zrobiłem JScrollPane. Jednak nowe dane, gdy już nie mieszczą się w polu widocznym dodają się na dole i żeby je zobaczyć trzeba przesunąć suwakiem. Nie potrafię znaleźć sposobu by ta operacja wykonywała się autoamtycznie.

0

int r = jXTable1.getRowCount();
if (r > 0) {
jXTable1.setRowSelectionInterval(r - 1, r - 1); // zaznacza wiersz
jXTable1.scrollRowToVisible(r - 1); // przesuwa scrolla na dół
}

0

mozesz uzyc np:

ep.setCaretPosition(ep.getDocument().getLength() - 1);
gdzie ep to komponent dziedzicacy po klasie JTextComponent czyli JEditorPane, JTextArea, JTextField. Moze nie jest to najlepsze wyjscie ale dziala.

1 użytkowników online, w tym zalogowanych: 0, gości: 1