que - Java Swing-Usando JScrollPane y Having it scroll back to top
que es jtextarea en java (7)
Estoy usando JScrollPane para permitir el desplazamiento en un JFrame que tiene un componente de texto que sirve como editor de texto. Lo que quiero hacer, después de configurar el texto en este editor, es hacer que retroceda hasta la parte superior, para que pueda ver lo que está al principio del archivo.
¿Alguien sabe como hacer esto?
Así es cómo:
textArea.setSelectionStart(0);
textArea.setSelectionEnd(0);
En caso de que no esté utilizando un componente de texto, eche un vistazo al hilo publicado aquí .... Configuración de la barra de desplazamiento en un JScrollPane
Su solución es derivar un hilo a través de invokeLater
final JScrollPane scroll = new JScrollPane(text);
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
scroll.getVerticalScrollBar().setValue(0);
}
});
Esto hará que el trabajo:
DefaultCaret caret = (DefaultCaret) textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
Llamar a setCaretPosition(0) en su componente de texto hará que se desplace hacia la parte superior.
Puede usar el método setCaretPosition(0)
justo después de setText(String t)
de su componente de texto.
Puedes intentar esto:
scrollPane.getViewport().setViewPosition(new Point(0,0));
Según JavaDocs, setViewPosition () se comporta así:
Establece las coordenadas de vista que aparecen en la esquina superior izquierda de la ventana gráfica, no hace nada si no hay vista.
Use JComponent.scrollRectToVisible()
Si necesita más información, aquí hay un artículo