Ajout D'une JTextArea (Java)

j'essaie d'ajouter une barre de défilement à une JTextArea. Quelqu'un pourrait-il me dire ce que j'ai fait de mal avec le code ci-dessous?

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);

je vous Remercie à l'avance.

EDIT: j'ai corrigé le code avec le Conseil D'Adel Boutros ci-dessous.

    //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);
22
demandé sur kleopatra 2012-01-13 14:27:27

4 réponses

cela ne fonctionne pas parce que vous n'avez pas attaché le ScrollPane à la JFrame.

aussi, vous n'avez pas besoin de 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);
37
répondu Adel Boutros 2016-07-11 16:14:37

Un panneau défilant est un conteneur qui contient un autre composant. Vous ne pouvez pas ajouter votre zone de texte à deux panneaux de défilement différents. Le panneau de défilement prend soin des barres de défilement horizontales et verticales.

et si vous n'ajoutez jamais le cadre, il ne sera jamais visible.

Lire le tutoriel de swing à propos de scroll panes.

5
répondu JB Nizet 2012-01-13 10:31:45

Vous n'avez pas besoin de deux JScrollPanes.

Exemple:

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
répondu u449355 2015-05-24 19:41:09
  1. Ouvrir la vue de conception
  2. clic droit sur textArea
  3. ouvrir surround avec option
  4. sélectionner "...JScrollPane".
3
répondu babeyh 2016-12-20 09:38:44