Я испытываю затруднения, заставляя JTextArea прокрутить. Я не уверен, как можно испортить JScrollPane, но я, кажется, имею, и я просто не вижу его. Это - вся часть большего проекта, но код ниже - то, как я создаю JTextArea и добавляю его к JScrollPane. Когда Вы вводите вне края текстовой области, полоса прокрутки не появляется. Установка вертикальной полосы прокрутки к всегда на дает полосу прокрутки, которая ничего не делает.
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);
}
}
Я попытался установить текст текстовой области, или строки и столбцы, в конструкторе, ни одном из который работавший. Это выполняет в моей голове. Какие-либо идеи?
Установите предпочтительный размер области прокрутки, а не текстовой области.
Остальные правы о размере. Кроме того, рассмотрите возможность запуска в потоке отправки событий ( EDT ):
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new TextAreaTest().setVisible(true);
}
});
}