Sto cercando di implementare un JScrollPane con un JTextArea. A JTextArea viene aggiunto e voglio che JScrollPane continui a scorrere verso il basso man mano che viene aggiunto altro testo. Come può essere realizzato?Rendere automatico un JScrollPane verso il basso
risposta
Per (quello che penso sia) una risposta semplice check-out: Text Area Scrolling.
Prima di JDK5, è necessario modificare manualmente la posizione del cursore dopo ogni aggiunta. È ora possibile dare a questo comportamento come predefinito in questo modo:
JTextArea textArea = new JTextArea(); DefaultCaret caret = (DefaultCaret)textArea.getCaret(); caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
Il vantaggio di questo è che non è necessario utilizzare questo frammento più di una volta nel codice!
ho trovato la risposta qui: JScrollPane and JList auto scroll
scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent e) {
e.getAdjustable().setValue(e.getAdjustable().getMaximum());
}
});
tua "soluzione" è in realtà il problema del collegato-alla domanda: se si tenta manualmente di spostare la maniglia di scorrimento verticale, questo codice scorrerà di nuovo verso il basso! – jackrabbit
Un'opera è intorno possibile: si può dichiarare che ascoltatore come una classe allora un'istanza sull'evento dove è necessario. Dopo di che è possibile rimuovere la classe dopo aver forzato un ridisegno dello schermo. Funziona come un fascino.
Se siete costantemente la scrittura dei dati ad esso si può utilizzare:
textArea.setCaretPosition(textArea.getDocument().getLength());
solo dopo aver aggiunto i nuovi dati.
Questo si scorrerebbe automaticamente fino a JScorllPane.
mentre possibile, non è la soluzione migliore - che è la risposta di @camickr :-) – kleopatra
+1 per un buon lavoro. –
Ecco la soluzione.
JTextArea textArea = new JTextArea();
DefaultCaret caret = (DefaultCaret)textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);`
Questo è solo codice, nessuna descrizione, quindi nessuna risposta. –
+1 per la risposta corretta - anche se è la stessa della risposta accettata da Rob :-) – kleopatra
(PS: Edit per SCREEN SHOOT)
import javax.swing.*;
import javax.swing.text.DefaultCaret;
public class NewClass {
public static void main(String[] args) {
JFrame win = new JFrame("test");
win.setSize(800, 500);
win.setResizable(false);
win.setLayout(null);
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.setLocationRelativeTo(null);
JTextArea txtListNum = new JTextArea();
JScrollPane barList = new JScrollPane(txtListNum);
DefaultCaret crList = (DefaultCaret) txtListNum.getCaret();
crList.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
barList.setLocation(10, 10); // Scrollbar Position
barList.setSize(180, 450); // Scrollbar Dimession
win.add(barList); // Scrolbar add to Frame
win.setVisible(true);
}
}
- 1. scorrimento automatico verso il basso quando overflow auto
- 2. Goniometro: scorrere verso il basso
- 3. Scrollview non scorrere completamente verso il basso
- 4. Come rendere Rails rendere una vista e scorrere automaticamente verso il basso?
- 5. Scorri RecyclerVisualizza quando lo fai scorrere verso l'alto o fai scorrere verso il basso il recyclerview verso il basso
- 6. Lo stack cresce verso l'alto o verso il basso?
- 7. Effetto scorrimento verso il basso su ExpandableListView
- 8. Bootstrap, rendere un navbar appiccicoso dopo averlo fatto scorrere verso il basso?
- 9. Android WebBrowser scorri verso il basso pagina
- 10. Transizione testo opacità dall'alto verso il basso
- 11. UITableView "Scorri verso il basso per aggiornare"
- 12. Come scorrere verso il basso - JQuery
- 13. ScrollView alawys scorrimento verso il basso
- 14. Colonna Flexbox allineare auto verso il basso
- 15. Conversione intero Dapper e verso il basso
- 16. TextView Android offset verso il basso
- 17. RecyclerView che non scorre verso il basso
- 18. Textarea scorrere automaticamente verso il basso
- 19. Bootstrap Navigazione verso il basso in MVC
- 20. Due modi per progettare sistemi complessi: dall'alto verso il basso e dal basso verso l'alto
- 21. Animate div dal basso verso l'alto anziché verso il basso in jQuery
- 22. Come rendere il mio layout in grado di scorrere verso il basso?
- 23. jQuery Preliminare un DIV facendolo scorrere verso il basso
- 24. Scorri verso il basso fino a un elemento con rapportatore
- 25. Un modo per arrotondare Galleggia verso il basso
- 26. UITableView scorre automaticamente verso il basso dopo un reloadData
- 27. jQuery scorrere verso il basso di un elemento non top
- 28. Come mostrare o nascondere un menu quando si scorre verso il basso o verso l'alto?
- 29. Come rilevare se un listview sta scorrendo verso l'alto o verso il basso in Android?
- 30. rotonda un rubino galleggiare verso l'alto o verso il basso con l'approssimazione di 0,05
+1 L'API 'setUpdatePolicy()' spiega molto _so_. Ho aggiornato la mia risposta alla domanda citata di conseguenza. – trashgod
Sì, l'API continua a cambiarla per tenere il passo con le modifiche in ogni momento. – camickr
Questo aiuta, ma se gli utenti fanno clic in un punto diverso da quello successivo alla fine dell'ultima riga, lo scorrimento automatico si interrompe. Questo non è intuitivo. Sarebbe bello se funzionasse il solito comportamento, semplicemente scorrendo verso il basso l'auto-scroll viene riattivato. – jcalfee314