Tengo problemas para desplazar un JTextArea. No estoy seguro de cómo puedes estropear un JScrollPane, pero parece que sí y no puedo verlo. Todo es parte de un proyecto más grande, pero el siguiente código es cómo estoy creando un JTextArea y añadiéndolo a un JScrollPane. Cuando escribe más allá del borde del área de texto, la barra de desplazamiento no aparece. Establecer la barra de desplazamiento vertical a siempre activada da una barra de desplazamiento que no hace nada.Las barras de desplazamiento en JTextArea en un JScrollPane no funcionan
import javax.swing.*;
import java.awt.*;
public class TextAreaTest extends JFrame{
public TextAreaTest() {
super("Text Area Scroller");
Container c = getContentPane();
JTextArea textarea = new JTextArea();
textarea.setPreferredSize(new Dimension(300, 50));
textarea.setLineWrap(true);
textarea.setText("xx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\n");
JScrollPane scroller = new JScrollPane(textarea);
c.add(scroller, BorderLayout.CENTER);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[]){
TextAreaTest instance = new TextAreaTest();
instance.setVisible(true);
}
}
He intentado configurar el texto del área de texto, o filas y columnas, en el constructor, ninguno de los cuales funcionó. Está haciendo mi cabeza. ¿Alguna idea?
Gracias! Por alguna razón, pensé que ya lo había intentado y no lo hice pero funcionó. Aclamaciones. – Robert
+1 - elimine 'setPreferredSize' del área de texto o si desea establecer el tamaño de esa manera, configúrelo en' scrollPane' –
Estoy usando Swing Layout Editor en NetBeans 7.3. Para que esto funcione, tuve que establecer la propiedad PreferredSize para que JTextArea sea nulo. Cuando lo hice, la barra de desplazamiento vertical apareció mágicamente. –