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

Interfaces Graphiques en Java Discussion :

Retour a la ligne dans un Jpanel


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut Retour a la ligne dans un Jpanel
    Bonjour

    Alors voila j'ai un Jpanel dans lequel j'insert d'abord un JTextArea puis un JLabel.
    De base ils sont inserrer l'un a coté de l'autre.

    Moi je voudrais le mettre l'un en dessous de l'autre ...

    J'ai tenter avec un GridLayout(2,1);
    -> Le probleme c'est qu'il donne la meme hauteur a ma ligne de text et a mon JLabel ...

    Comment faire SVP ?

    merci

  2. #2
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    Avec un borderlayout la taille préférée de tes composants seront prises en compte
    Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum

  3. #3
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Le must du must pour les formulaires : JGoodies FormLayout
    Comment ça ? La réponse à ton problème n'est ni dans la faq, ni dans les tutos, ni dans sources ??? Etonnant...
    De la bonne manière de poser une question (et de répondre).
    Je ne fais pas de service par MP. Merci (...de lire les règles...).
    Ma page dvp.com

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    ok merci je vais regarder tout ca, mais auriez vous un bou de code a me présenter ?

    Voici ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        public JComponent createJComponent() {
            panel = new VPanel();
            panel.setLayout(new BorderLayout());
            border = new LineBorder(ColorFactory.getColor("treeBG_color"));
            focusBorder = new LineBorder(ColorFactory.getColor("treeBG_color"));
            panel.setBorder(border);
            selectedBorder = border;
            treePanel = new VPanel(new GridLayout(2, 1));
            return panel;
        }
    Le GridLayout me permet de mettre mon "infoTextArea" et mon "res" l'un en dessous de l'autre, mais du coup il on par defaut la meme hauteur (ca me pourris tout !)
    puis,

    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
     
       public void onApplicationReady() {
     
            GridBagLayout gbl = new GridBagLayout();
            GridBagConstraints c = new GridBagConstraints();
            panel.setLayout(gbl);
            centerPane.setLayout(gbl);
            res.setLayout(new BorderLayout());
            centerPart.setLayout(new BorderLayout());
            pairsModel = new DefaultMutableTreeNode("Root");
     
            infoTextArea = new JTextArea("");
            infoTextArea.setBackground(Color.YELLOW);
            treePanel.add(infoTextArea);
     
            createNodes(pairsModel);
     
            // Create a tree that allows one selection at a time.
            tree = new JTree(pairsModel); 
            tree.setUI(new NG4TreeUI());
            tree.setCellRenderer(new SampleTreeRenderer());
            tree.setVisible(false);
     
            centerPart.add(tree);
            res.add(centerPart);
     
            treePanel.add(res);
            treePanel.setAutoscrolls(true);
     
            JScrollPane infoPane = new    ScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
     
            infoPane.setViewportView(treePanel);
     
            c.fill = GridBagConstraints.BOTH;   
            c.weightx = 1;
            c.weighty = 1;     
            gbl.setConstraints(infoPane, c);
            c.gridwidth = GridBagConstraints.REMAINDER;
            c.weighty = 1;
            c.gridheight = GridBagConstraints.REMAINDER;
     
            panel.add(infoPane);
            this.getComponent().setFocusCycleRoot(true);
        }

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    Finalement après plusieurs heures de recherche ... j'ai trouvé, et c'est tout bête, je suis dèg !

    Voici comment faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    treePanel.setLayout(new BorderLayout ());
    puis,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    treePanel.add("North",infoTextArea);
    treePanel.add("Center",res);
    et remettre dans le code qui est plus haut ... et c'est tout !!

    merci a tous

  6. #6
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    --> un petit résolu ?
    Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum

  7. #7
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    Avant de mettre en résolu j'aurais une question supplémentaire ...

    Comment faire si j'ai plus de 3 éléments (North, Center, South ...) et apreès !!!

    Une autre méthode ?!

  8. #8
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    Il y a encore east et west. Mais rien ne t'empeche de mettre un JPanel dans l'une de ces "régions" et d'y affecter un nouveau BorderLayout ce qui te divise à nouveau ton affichage.

    Pour d'autres solutions: GridLayout, GridBagLayout, GroupLayout...
    Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/10/2010, 09h00
  2. [DW8] Retour a la ligne dans dreamweaver 8
    Par Cedwik dans le forum Dreamweaver
    Réponses: 4
    Dernier message: 17/10/2006, 10h17
  3. [JSP]retour a la ligne dans fonction mailto
    Par logica dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 19/04/2006, 01h50
  4. [MFC]retour a la ligne dans une EditBox
    Par bibi_64 dans le forum MFC
    Réponses: 2
    Dernier message: 15/12/2005, 12h35
  5. Comment faire un retour a la ligne dans un tableaux Word
    Par alexmorel dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 17/06/2004, 09h31

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