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 :

[debutant]empecher JScrollPane de scroller horizontalement


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Romain93
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Par défaut [debutant]empecher JScrollPane de scroller horizontalement
    Bonjour,

    J'ai un JPanel(new FlowLayout()) ou je rajoute dans mon appli des JLabel.
    Je souhaite pouvoir scroller verticalement quand le JPanel est plein, donc j'ai essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    picturesPane = new JPanel(new FlowLayout());
    JScrollPane picturesScrollPane = new JScrollPane(picturesPane);
    mais le probleme est que les JLabel se rajoutent toujours sur la premiere ligne, et donc un Scrollbar horizontal apparait. Or je voudrais que le JPanel ne soit scrollable que verticalement (comme une fenetre windows en fait).

    J'ai cherche mais je n'ai rien trouve dans les methodes de JScrollPane qui permmette ca. Quelqu'un a une idee?

    merci d'avance,

    Romain

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    Il faudrait que le Jpanel passe a la ligne suivante.

    Essai de donner une taille maxi au jpanel et maniere a le forcer a passer a la ligne.

  3. #3
    Membre confirmé Avatar de Romain93
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Par défaut
    bonne idee, mais ca n'a pas l'air de marcher: j'ai essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    picturesPane = new JPanel(new FlowLayout());
    picturesPane.setMaximumSize(new Dimension(10,10));
    JScrollPane picturesScrollPane = new JScrollPane(picturesPane);
    mais il continue de m'aligner plein de JLabel a la suite...

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Rempalces ton FlowLayout par un layout plus adapté, te permettant de controler de façon plus précise le placement de tes éléments: BoxLayout, GridLayout, GridBagLayout...

  5. #5
    Membre confirmé Avatar de Romain93
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Par défaut
    hum hum... le borderLayout, c'est pas tres adapte parce que je veux pouvoir rajouter des JLabel dynamiquement (et un simple add les supperpose), le GridLayout donne la meme taille a tous mes JLabel, qui contiennent des images de tailles differentes, donc c'est tres moche. La solution est peut-etre le GridBagLayout, mais il faudrait que j'apprenne a m'en servir

    ce qui est marrant, c'est que meme si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    picturesPane.setMaximumSize(new Dimension(600,10000));
    apres, si je fais afficher la taille de picturesPane, lorsque j'ajoute les JLabel un par un, j'obtiens:

    width: 581.0
    height: 647.0

    width: 581.0
    height: 647.0

    width: 581.0
    height: 647.0

    width: 665.0
    height: 632.0
    Il n'a pas l'air tres impressione par mon setMaximumSize...

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Utilise setPreferredSize et non setMaximumSize

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

Discussions similaires

  1. ScrollView : scroller horizontalement
    Par TsCyrille dans le forum Android
    Réponses: 11
    Dernier message: 07/11/2010, 17h59
  2. JScrollPane + JTable = Défilement horizontale impossible
    Par lordeikichi dans le forum Composants
    Réponses: 1
    Dernier message: 23/01/2009, 17h17
  3. [debutant] probleme avec jscrollpane
    Par skwi6 dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 30/10/2006, 20h57
  4. [VB6]-Debutant empecher d ecraser un fichier.
    Par Slumpy dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/05/2006, 15h19
  5. Réponses: 10
    Dernier message: 23/11/2004, 18h14

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