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

Composants Java Discussion :

ScrollBar un peu trop timide.


Sujet :

Composants Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Par défaut ScrollBar un peu trop timide.
    Hello tout le monde les gens !

    Wouala, j'ai un petit problème : je n'ai pas de ScrollBar, j'ai beau chercher partout, sous mon lit, dans ma voiture, j'la trouve pas ><

    Plus sérieusement :
    Dans le code qui suit, j'ai un JTextArea contenu dans un JScrollPane et la barre de scroll vertical n'apparait.. jamais. J'ai lu dans un message du forum sur le même sujet qu'il fallait mettre une taille au JScrollPane mais ça n'a eu aucun effet... j'ai tenté avec une taille max, une taille min, un setSize bourrin, (idem pour la JTextArea...)

    Je suppose donc que le problème vient du GridBagLayout (qui, à mon grand étonnement, à par ce détail, fait ce que je veux !! voui, c'est mon premier n'a moi, et je l'ai à peu près bien dressé \o/) mais bon, n'étant pas du tout expérimenté dans le "layoutage" et surtout, perdu devant la complexité de ce gestionnaire, je m'en viens quérir votre aide !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     
    import java.awt.Dimension;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.ScrollPaneConstants;
     
    /**
     *
     * @author thomas
     */
    public class PanelMessageToSend extends JPanel {
        //******************************************
        //*             GUI ATTRIBUTES             *
        //******************************************
     
        private JButton sendButton;
        private JButton newPrivateConversation;
        private JScrollPane messageAreaScrollPane;
        private JLabel labelVotreMessage;
        private JTextArea messageArea;
        //******************************************
        //*        CONTROLER  ATTRIBUTE            *
        //******************************************
        //private AbstractControler controler;
     
        public PanelMessageToSend(/*AbstractControler controler*/) {
            //this.controler = controler;
            intcomponents();
        }
     
        private void intcomponents() {
            //*************************************
            //*         CONSTRUCTION              *
            //*************************************
            GridBagLayout layout = new GridBagLayout();
            sendButton = new JButton("Envoyer");
            newPrivateConversation = new JButton("Nouvelle Conversation");
            messageArea = new JTextArea();
            labelVotreMessage = new JLabel("Votre Message :");
     
            //**************************************
            //*             SETTINGS               *
            //**************************************
            messageArea.setLineWrap(true);
            messageArea.setWrapStyleWord(true);
            messageArea.setToolTipText("Tapez ici votre message, cliquer sur \"Envoyer\" ou faite SHIFT+ENTER pour envoyer votre message");
            messageAreaScrollPane = new JScrollPane(messageArea, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
     
            Dimension max = new Dimension(10, 30);
            sendButton.setToolTipText("Cliquer ici pour envoyer votre message (raccourci : SHIFT+ENTER)");
            newPrivateConversation.setToolTipText("Cliquer ici pour lancer une nouvelle conversation privée");
            sendButton.setMaximumSize(max);
            newPrivateConversation.setMaximumSize(max);
     
            //**************************************
            //*           LAYOUTING                *
            //**************************************
            this.setMinimumSize(new Dimension(600, 150));
            this.setPreferredSize(new Dimension(600, 150));
            this.setLayout(layout);
     
     
            GridBagConstraints labelConstraint = new GridBagConstraints();
            labelConstraint.gridx = labelConstraint.gridy = 0; // premier composant
            labelConstraint.gridwidth = GridBagConstraints.REMAINDER; //dernier composant de la ligne (il est le seul)
            labelConstraint.fill = GridBagConstraints.NONE;
            labelConstraint.anchor = GridBagConstraints.LINE_START; //On le place au début de sa céllule
            labelConstraint.insets = new Insets(10, 5, 0, 0);//10px en haut et à gauche, 5 en bas, 0 à droite
            this.add(labelVotreMessage, labelConstraint); //ajout du composant à la fenêtre
     
            GridBagConstraints scrollPaneConstraint = new GridBagConstraints();
            scrollPaneConstraint.gridx = 0;
            scrollPaneConstraint.gridy = 1;
            scrollPaneConstraint.gridwidth = GridBagConstraints.RELATIVE; //avant dernier composant sur la ligne
            scrollPaneConstraint.gridheight = GridBagConstraints.REMAINDER;//dernier composant sur la colonne
            scrollPaneConstraint.weightx = 1;
            scrollPaneConstraint.weighty = 1;
            scrollPaneConstraint.anchor = GridBagConstraints.LINE_START;
            scrollPaneConstraint.fill = GridBagConstraints.BOTH;
            scrollPaneConstraint.insets = new Insets(10, 10, 5, 5);
            this.add(messageArea, scrollPaneConstraint);
     
            GridBagConstraints newPrivateConversationConstraints = new GridBagConstraints();
            newPrivateConversationConstraints.gridx = 5;
            newPrivateConversationConstraints.gridy = 10;
            newPrivateConversationConstraints.gridwidth = GridBagConstraints.REMAINDER;
            newPrivateConversationConstraints.gridheight = GridBagConstraints.RELATIVE;
            newPrivateConversationConstraints.weighty = 1;
            newPrivateConversationConstraints.weightx = 0;
            newPrivateConversationConstraints.fill = GridBagConstraints.HORIZONTAL;
            newPrivateConversationConstraints.anchor = GridBagConstraints.PAGE_END;
            newPrivateConversationConstraints.insets = new Insets(5, 5, 5, 5);
            this.add(newPrivateConversation, newPrivateConversationConstraints);
     
            GridBagConstraints sendButtonConstraints = new GridBagConstraints();
            sendButtonConstraints.gridx = 5;
            sendButtonConstraints.gridy = 11;
            sendButtonConstraints.gridheight = sendButtonConstraints.gridwidth = GridBagConstraints.REMAINDER;
            sendButtonConstraints.weightx = sendButtonConstraints.weighty = 0;
            sendButtonConstraints.fill = GridBagConstraints.HORIZONTAL;
            sendButtonConstraints.anchor = GridBagConstraints.PAGE_END;
            sendButtonConstraints.insets = new Insets(5, 5, 5, 5);
            this.add(sendButton, sendButtonConstraints);
        }
    }

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par Zelwina Voir le message
    Plus sérieusement :
    Dans le code qui suit, j'ai un JTextArea contenu dans un JScrollPane et la barre de scroll vertical n'apparait..
    Ceci étant probablement dû au fait que tu crée un JScrollPane mais que tu ne l'utilise pas

    Remplace ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            this.add(messageArea, scrollPaneConstraint);

    par celui-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            this.add(messageAreaScrollPane, scrollPaneConstraint);
    et ca devrais déjà aller mieux

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Par défaut

    J'me sens un peu con sur le coup =D

    Merci infiniment !

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

Discussions similaires

  1. Communication Série un peu trop lente?
    Par SimonBrodeur dans le forum VB 6 et antérieur
    Réponses: 22
    Dernier message: 16/01/2006, 14h41
  2. [Débutant(e)] une JApplet trop timide pour s'afficher
    Par mehdi82 dans le forum Applets
    Réponses: 7
    Dernier message: 28/11/2005, 11h04
  3. Erreur de lien un peu trop long...
    Par babemagus dans le forum MFC
    Réponses: 2
    Dernier message: 14/06/2005, 10h30
  4. Requête un peu trop compliqué pour moi
    Par Kokito dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/04/2005, 15h17

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