2015-11-26 2 views
1

JScrollPane, что я добавляю Doesnt appearin моего текстового полякак добавить полосы прокрутки в текстовое поле в Java

textArea = new JTextArea(); 
scroll = new JScrollPane(textArea); 
      scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 

     this.add(textArea); 
     this.add(scroll); 

      this.setSize(1000, 600); 
     this.setLayout(new BorderLayout()); 


     setVisible(true); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setLocationRelativeTo(null); 
+0

Смотрите, если это может помочь вам: http://stackoverflow.com/questions/8849063/adding-a-scrollable-jtextarea-java –

+0

не работал для меня – Christian

ответ

3
textArea = new JTextArea(); 
scroll = new JScrollPane(textArea); 
//this.add(textArea); // get rid of this 
this.add(scroll); 

Вы создаете ScrollPane с текстовой области, а затем следующий оператор удаляет область текста из scrollpane, потому что компонент может иметь только одного родителя.

Избавьтесь от этого утверждения и просто добавьте прокрутку в рамку.

Затем полосы прокрутки появятся автоматически при добавлении данных в текстовую область.

Кроме того, вы должны создать текстовую область, используя что-то вроде:

textArea = new JTextArea(5, 20); 

дать предложение о том, как большой, чтобы сделать область текста.

Я сделал то, что вы сказали, но до сих пор ничего не происходит

Другая проблема заключается в том, что вам необходимо установить менеджер компоновки, прежде чем начать добавление компонентов кадра (или панели).

+0

Я сделал то, что вы сказали, но до сих пор ничего не происходит – Christian

+0

@Christian, см. править. – camickr

2

Удалить this.add(textArea); и добавить scroll.setSize(100, 100); также будет работать на вас.

+0

сейчас работает! спасибо большое – Christian

+0

@Christian, вы НЕ должны устанавливать размер панели прокрутки. Менеджер макета установит размер на основе правил менеджера макета. – camickr

Смежные вопросы