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 :

JScrollPane


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 80
    Points : 62
    Points
    62
    Par défaut JScrollPane
    Bonjour a tous,
    Le probleme est simple, j'ai un JScrollPane, dans lequel je veux placé des elements... jusque là, rien de mechant.

    Mais voila, peu importe la taille des elements que je met dedant, les JScrollBars reste desactivé (je les ai mis en SCROLLBAR_ALWAYS sur les deux sens.)

    Par exemple, je place sur mon JScroll un boutton 2 fois plus haut que lui, et on vois nettement que le bouton depasse en bas, mais impossible de descendre avec la scrollbar verticale, elle est desactivé...

    Voici le bout de code en question.


    JScrollPane jScroll = new JScrollPane();

    jScroll.setPreferredSize(new Dimension(700,600));

    // Je le met ce Layout null, car je veux pouvoir placé mes composant moi meme.

    jScroll.getViewport().setLayout( null );

    JButton b = new JButton("Ok");
    b.setBounds(200,200,600,1000);
    jScroll.getViewport().add(b);
    jScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    jScroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    Quelqu'un m'explique pourquoi je peut pas scroller mon JScrollPane ^^

    Merci

  2. #2
    Membre averti Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Points : 375
    Points
    375
    Par défaut
    salut,

    c'est justement parceque tu mets le layout a null que cela ne fonctionne pas...
    enleve ta ligne jScroll.getViewport().setLayout( null );
    tu peux egalement enlever les lignes ou tu forces l'affichage des ascenceurs, ca ne sert a rien, il s'afficheront par defaut si necessaire.

    relance et tu verras , si le composant qui contient ton scollpane est plus petit que ton bouton (j'ai testé dans une simple jframe) les barres apparaissent ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 80
    Points : 62
    Points
    62
    Par défaut
    Bha ouais, mais si je fait ca, il etire mon JButton( ou mon panel en fait maintenant) au dimension du viewport... et comme mon panel est peint avec une image de taille fixe, ca crée une zone vide( et si je reduit l'image, on vois les trace du dessin precedent, puisque c le layout qui gere la taille tu panel, je peut plus l'adapter a mon image.

    Quelqu'un a une autre solution avant que je ne lance a créer mon propre JScrollPane ?

    merci ^^

  4. #4
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Pourquoi ne pas créer tout d'abord un Jpanel avec tout ton affichage désiré et après coup, tu ajoutes ce JPanel plutot que ded n'ajouter qu'un simple bouton ?!?

    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
     JScrollPane jScroll = new JScrollPane();
    jScroll.setPreferredSize(new Dimension(700,600));
    
    // Met le Layout null au JPanel
    jPanel = new JPanel();
    jPanel.setLayout(null);
    //aux mm dimensions histoire de te croire comme dans ton jScrollPane
    jPanel.setPreferredSize(new Dimension(700,600));
    
    JButton b = new JButton("Ok");
    b.setBounds(200,200,600,1000);
    //ajout du bouton au panel
    jPanel.add(b);
    
    jScroll.setViewport(jPanel);
    Ca ne fonctionnera pas mieux ainsi ?!?
    See you, space cowboy... and if you're satisfied, click on

Discussions similaires

  1. JOptionPane et JScrollPane
    Par calypso dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 15/06/2004, 11h25
  2. [JFrame][JScrollPane] rafraichissement
    Par iuz dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 14/05/2004, 11h08
  3. [JSCROLLPANE][JTABLE] Probleme de raf...
    Par thibaud dans le forum Composants
    Réponses: 5
    Dernier message: 04/05/2004, 11h26
  4. [JScrollPane]Comment savoir quand une scrollbar apparait ?
    Par FrigoAcide dans le forum Composants
    Réponses: 4
    Dernier message: 29/04/2004, 10h10
  5. [JScrollPane] élargir la taille
    Par nyny_p dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 03/05/2003, 10h54

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