IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Ajouter une barre de défilement dans un JTextArea


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 606
    Par défaut Ajouter une barre de défilement dans un JTextArea
    Bonjour,
    Je souhaite ajouter une barre de défilement sur un JTextArea mais je n'arrive pas à le faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    		frame = new JFrame();
    		frame.setVisible(true);
    		frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.getContentPane().setLayout(null);
     
    		JTextArea txtRequete = new JTextArea();	
    		txtRequete.setFont(new Font("Monospaced", Font.PLAIN, 16));
    		txtRequete.setLineWrap(true);
    		txtRequete.setBounds(10, 10, screenSize.width/3,200);
    		//frame.getContentPane().add(txtRequete);
    		JScrollPane jsp = new JScrollPane(txtRequete,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS ,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    		frame.getContentPane().add(jsp);
    le JTextArea n'apparait pas dans la fenêtre

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Deux problèmes dans ton code :

    1. Comme tu supprimes le Layout Manager (par frame.getContentPane().setLayout(null);), les composants que tu mets dans le contentPane ne sont plus placés ou dimmensionnés automatiquement. Les dimensions par défaut d'un composant sont largeur 0 et hauteur 0. Donc ton JScrollPane est invisible.
      Déplace ton appel de setBounds() de la variable txtRequete vers la variable jsp.
    2. Comme tu affiches ta fenêtre immédiatement après sa création, certains processus ne sont pas déclenchés, et il faut le faire explicitement pour que l'affichage soit mis à jour. Donc soit tu mets le frame.setVisible(true) après avoir placé tous les composants dans la fenêtre (ce qui est toujours mieux : on affiche quand c'est prêt). Si on a besoin de modifier le contenu de la fenêtre plus tard (ajouter, déplacer ou supprimer des composants), alors qu'elle est déjà visible, il faut appeler revalidate() (dans ton cas, tu pourrais le faire sur JScrollPane), et éventuellement dans certains cas appeler repaint() également (pas nécessaire dans ton cas).
    3. Accessoirement, ça ne sert à rien de donner des dimensions au JTextArea parce qu'il est dans un JScrollPane (il va prendre le contrôle de la position du JTextArea, en fonction des contrôles des barres de défilement).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 606
    Par défaut
    merci de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter une barre de défilement dans un widget
    Par alaskabender dans le forum Débuter
    Réponses: 1
    Dernier message: 15/04/2015, 18h08
  2. Ajouter une barre de défilement dans un thème
    Par GDMINFO dans le forum Beamer
    Réponses: 0
    Dernier message: 30/09/2010, 15h11
  3. Ajouter une barre de défilement dans un ascenseur personnalisé
    Par eamon250d dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/08/2010, 21h18
  4. ajout d'une barre de défilement dans un group button
    Par kawther dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 17/02/2009, 23h04
  5. Réponses: 5
    Dernier message: 02/07/2008, 13h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo