Добавление прокручиваемой JTextArea (Java)

Я пытаюсь добавить полосу прокрутки в JTextArea. Кто-нибудь, пожалуйста, скажите мне, что я сделал с кодом ниже?

JFrame frame = new JFrame ("Test");
JTextArea textArea = new JTextArea ("Test");

JScrollPane scrollV = new JScrollPane (textArea);
JScrollPane scrollH = new JScrollPane (textArea);

scrollV.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollH.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
frame.setVisible (true);

Спасибо заранее.

EDIT: я исправил код с помощью совета Adel Boutros ниже.

    //FRAME
JFrame frame = new JFrame ("Test");
frame.setSize(500,500);
frame.setResizable(false);
//

//TEXT AREA
JTextArea textArea = new JTextArea("TEST");
textArea.setSize(400,400);    

    textArea.setLineWrap(true);
    textArea.setEditable(false);
    textArea.setVisible(true);

    JScrollPane scroll = new JScrollPane (textArea);
    scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
          scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

    frame.add(scroll);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Это не работает, потому что вы не прикрепляли ScrollPane к JFrame.

Кроме того, вам не нужны 2 JScrollPanes:

JFrame frame = new JFrame ("Test");
JTextArea textArea = new JTextArea ("Test");

JScrollPane scroll = new JScrollPane (textArea, 
   JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

frame.add(scroll);
frame.setVisible (true);
33
ответ дан 13 янв. '12 в 13:30
источник

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

И если вы никогда не добавите панель прокрутки в рамку, она никогда не будет видна.

Прочитайте руководство по качанию о панелях прокрутки.

5
ответ дан 13 янв. '12 в 13:31
источник

Вам не нужно два JScrollPanes.

Пример:

JTextArea ta = new JTextArea();
JScrollPane sp = new JScrollPane(ta);  

// Add the scroll pane into the content pane
JFrame f = new JFrame();
f.getContentPane().add(sp);
5
ответ дан 13 янв. '12 в 13:30
источник
  • Открытый дизайн
  • Щелкните правой кнопкой мыши на textArea
  • открыть объемный с опцией
  • выберите "... JScrollPane".
2
ответ дан 20 дек. '16 в 12:16
источник