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

Agents de placement/Fenêtres Java Discussion :

Problème avec JScrollPane et label


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 69
    Points : 58
    Points
    58
    Par défaut Problème avec JScrollPane et label
    Bonjour !

    J'ai une classe LblPicture qui hérite de JLabel et qui à la construction reçoit un objet de type Image (contient une image du disque)

    Ma classe LblPicture redéfinit la méthode paint et affiche cette image.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g.drawImage(im, cntreH, cntreV, drawW, drawH, this); //redessine image au centre
    Le prob est le suivant, j'ai une scrollPane qui contient cette image, et les bar n'apparaissent pas lorsque le jLabel est > que la fenêtre.

    Lorsque je passe par un Jlabel normal et que je l'ajoute ça marche pour les bar

    La redéfinission de la méthode patin pose peut-être des problème...

    vos idées sont les bienvenues !

    Merci

    gl0be

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 37
    Points : 33
    Points
    33
    Par défaut
    Comment initialise tu l'instance de ta classe dérivant de JLabel ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    		JScrollPane j = new JScrollPane() ;
    		j.setOpaque(true) ;
    		this.getContentPane().add(j, BorderLayout.CENTER) ;
    		j.setVisible(true) ;
    		JPanel pnl = new JPanel() ;
    		pnl.setLayout(new BorderLayout()) ;
    		j.getViewport().add(pnl) ;
     
    		pnl.add(new LblPicture("D:/images/180893895.jpg"), BorderLayout.CENTER) ;
    J'espère que ça aidera

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 37
    Points : 33
    Points
    33
    Par défaut
    Je n'ai utilisé un jscrollpane qu'avec une jlist mais essaye en faisant
    j.add(pnl) ;
    au lieu de
    j.getViewport().add(pnl) ;
    ou alors essaye de mettre
    pnl.add(new LblPicture("D:/images/180893895.jpg"), BorderLayout.CENTER) ;
    avant de faire
    j.add(pnl) ;
    c'est tout ce que je vois

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Ce serait pas plutôt un truc du genre ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Points : 143
    Points
    143
    Par défaut
    A mon avis cest juste un problème de taille de ton JLabel.

    Quand tu crées ton label, puis tu ajoutes normalement l'image (via l'API de Java), et ben le label va être redimensionné et le scrollPane utilisé.

    Par contre, si tu dessines directement dans le paint, le label ne sait pas kil faut kil soit plus grand, et donc ce que tu dessines dans le paint est perdu :

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonLabel = new TaClasselabel( image );
    ensuite, avec le layout utilisé, tonLabel récupère sa taille, par exemple
    (30,30 );

    si ton image fait (50,50), hé ben yaura ke la partie (30,30) de l'image qui sera dessinée effectivement. Et le scrollPane n'apparaitra pas puisqu'il pense que cest suffisant ...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par thomas_strass
    A mon avis cest juste un problème de taille de ton JLabel.

    Quand tu crées ton label, puis tu ajoutes normalement l'image (via l'API de Java), et ben le label va être redimensionné et le scrollPane utilisé.

    Par contre, si tu dessines directement dans le paint, le label ne sait pas kil faut kil soit plus grand, et donc ce que tu dessines dans le paint est perdu :

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonLabel = new TaClasselabel( image );
    ensuite, avec le layout utilisé, tonLabel récupère sa taille, par exemple
    (30,30 );

    si ton image fait (50,50), hé ben yaura ke la partie (30,30) de l'image qui sera dessinée effectivement. Et le scrollPane n'apparaitra pas puisqu'il pense que cest suffisant ...
    c'est bien ce que je pensais ! mais je ne peux pas faire un setPrefferedSize(xxx,xxx) car il part en boucle infinie dans le paint .. (enfin en appel de methode infinie)

    Merci quand même !

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

Discussions similaires

  1. Problème avec JScrollPane et onglet
    Par dsryam dans le forum Composants
    Réponses: 7
    Dernier message: 10/03/2009, 19h59
  2. Problème avec JScrollPane et Panel paint
    Par Sk3d4r dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 29/02/2008, 20h57
  3. Problème avec JScrollPane
    Par doons dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 23/11/2007, 11h09
  4. Problème avec JScrollPane
    Par zolotaya dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 17/07/2007, 20h06
  5. Problème avec jscrollpane
    Par mmb04 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 11/05/2007, 13h51

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