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 :

gridLayout, JLabel et JScrollPane


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut gridLayout, JLabel et JScrollPane
    Bonjour,

    J'ai un soucis de dimensionnement de mes objets d'interface.
    J'ai un container de ma page principal qui contient 2autres container en flowLayout. Un a droite et un à gauche.

    Celui qui m'interesse c'est celui de droite.

    Il contient plusieur composant en gridLayout.
    Le panel contient une liste assez consequente et du coup les autres cases du grid layout grandissent et sortent de ma fenetre.
    J'ai donc mis un JScrollPane mais rien a faire les ptits ascenseur ne se mettent pas.

    Voici la partie de mon conde incriminé :

    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
     
    	public PageListe(Fenetre fenetre){
    		this.setLayout(new GridLayout(3,1));
    		this.titre = new JLabel();
     
    		this.liste = new JLabel();
    		liste.setSize(100, 100);
    		JScrollPane scrollPane = new JScrollPane(liste);
    		//this.liste = new JTextArea(15, 50);
     
    		JPanel panelAction = new JPanel(new GridLayout(3,1));
    		this.choix = new JTextField();
    		this.valider = new JButton("Valider");
    		this.valider.addActionListener(this);
    		this.annuler = new JButton("Annuler");
    		this.annuler.addActionListener(this);		
     
    		this.add(titre);
    		//this.add(liste);
    		this.add(scrollPane);
    		this.add(panelAction);
    		panelAction.add(choix);
    		panelAction.add(valider);
    		panelAction.add(annuler);
    Est ce que quelqu'un pourrait m'expliquer ceci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 13
    Par défaut
    salut,

    je suis pas absolument sur de moi, mais je pense que si tu utilises un JLabel comme ceci il ne revient pas automatiquement á la ligne : si tu depasse sa largeur il se redimensionne en largeur. Du coup la case du grid layout correspondante grandit, ainsi que les autres cases, ce qui fait tout déborder.

    je pense qu'il faut imposer des sauts de ligne (html?) ou utiliser un autre composant que le JLabel.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    j'ai oublié de préciser c'est biensur en html dedans et c'est la hauteur qui me pose probleme surtout.
    d'ou le fait que je souhaite un ascenceur de droite.

    Et comment faire pour que les cases du gridLayout aient des tailles differentes

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 13
    Par défaut
    je n'ai pas trop le temps de chercher lá mais il me semble que faire un setPreferredSize sur le scrollPane pourrait peut etre marcher... pas le temps de faire des tests pour l'instant sur mes scrollPane, desolé.

    en ce qui concerne les GridLayout par definition les cases ont la meme taille. Lorsque l'on souhaite des cases avec tailles differentes c'est plutot vers les GridBagLayout qu'il faudrait se tourner : plus puissant mais aussi beaucoup plus casse pied a utiliser. si tu n'as qu'une colonne un BoxLayout est envisageable.

Discussions similaires

  1. JscrollPane, Jlabel et GridBagLayout
    Par mrboliboli dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/03/2015, 15h46
  2. Redimensionner un JLabel et un GridLayout
    Par ville_de_lumiere dans le forum Débuter
    Réponses: 0
    Dernier message: 07/06/2014, 20h38
  3. Réponses: 3
    Dernier message: 08/03/2011, 21h53
  4. Centrer un JLabel dans un JScrollPane
    Par Iron Bull dans le forum Composants
    Réponses: 4
    Dernier message: 03/03/2009, 15h45
  5. JScrollPane et JLabel
    Par Invité dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 06/08/2007, 08h58

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