7 votes

Java JScrollPane

Je suis en train d'essayer d'ajouter un défilement vertical à ma zone de texte de mes programmes Java. J'utilise ce code pour créer mon JScrollPane :

console = ma zone de texte.

Je déclare également JScrollPane vertical;

        vertical = new JScrollPane(console);
    vertical.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    vertical.setVisible(true);
    this.add(vertical);

MODIFIER:

Vue du programme:

description de l'image Je suis nouveau en Java mais cela ne devrait-il pas fonctionner et ajouter une barre de défilement verticale à ma zone de texte

Qu'est-ce que je fais de travers?

Merci pour toute aide.

10voto

Eng.Fouad Points 44085

Voici un exemple :

entrer la description de l'image ici

import java.awt.Dimension;
import javax.swing.*;

public class ScrolledPane extends JPanel
{
    private JScrollPane vertical;
    private JTextArea console;

    public ScrolledPane()
    {
        setPreferredSize(new Dimension(200, 250));
        console = new JTextArea(15, 15);

        vertical = new JScrollPane(console);
        vertical.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        add(vertical);
    }

    public static void main( String args[] )
    {
        new JFrame()
        {{
            getContentPane().add(new ScrolledPane());
            pack();
            setVisible(true);
        }};
    }
}

8voto

mKorbel Points 90340

Je pense que dans le tutoriel officiel sur JTextArea et JScrollPane tout est décrit, d'autres exemples ici et ici

mySchroll = new JScrollPane(myTextArea, 
    ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
    ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

0voto

Rajan saha Raju Points 116
import javax.swing.*;
import java.awt.*;

public class Demo extends JFrame {

    private JTextArea textArea;
    private JScrollPane scroll;

    Demo(){
        super("Ecrivez ici...");
        textArea = new JTextArea();
        scroll = new JScrollPane(textArea);
        scroll.setVerticalScrollBarPolicy(22); /*22 est une valeur constante pour toujours vertical */
        add(scroll, BorderLayout.CENTER);

        setSize(270,270);
        setVisible(true);

    }

    public static void main(String[] args) {
        new Demo();
    }

}

Résultat du code : Voir

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X