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

Composants Java Discussion :

Centrer un JLabel dans un JScrollPane


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java/GWT
    Inscrit en
    Juillet 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java/GWT
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 32
    Par défaut Centrer un JLabel dans un JScrollPane
    Bonjour,

    j'affiche un JLabel contenant une image (la page d'un PDF) dans un JScrollPane. J'ai essayé de centrer le label en l'ajoutant d'abord dans un JPanel en BorderLayout.CENTER, mais le résultat est exactement le même que BorderLayout.WEST.

    Voici donc mon JPanel contenant une JToolBar en NORTH et un JScrollPane en CENTER qui lui contient un JPanel qui contient un JLabel en CENTER.



    Voici la partie de mon code où j'ajoute mon label dans mon scrollpane:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    label = new JLabel();
    JPanel pnl = new JPanel(new BorderLayout());
    pnl.add(label, BorderLayout.CENTER);
    JScrollPane scrollpane = new JScrollPane(pnl);
    scrollpane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    scrollpane.getVerticalScrollBar().setUnitIncrement(15);
    add(scrollpane, BorderLayout.CENTER);
    Comment faire pour centrer mon image(label)?

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Et comment tu initialises ton JLabel ?
    (je ne pense pas qu'il faille utiliser un JPanel intermédiaire).

    a++

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java/GWT
    Inscrit en
    Juillet 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java/GWT
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 32
    Par défaut
    Le bout de code que j'ai montré plus haut, c'est dans mon constructeur. Le label est donc un new Label(), sans rien de plus.

    A chaque fois que je change de page du PDF (avec les boutons de la toolbar), je remplace l'image du Label.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    PDFPage pg = curFile.getPage(pagenum + 1);
     
    Rectangle2D r2d = pg.getBBox ();
     
    double width = r2d.getWidth ();
    double height = r2d.getHeight ();
    width /= 72.0;
    height /= 72.0;
    int res = Toolkit.getDefaultToolkit().getScreenResolution ();
    width *= res;
    height *= res;
     
    image = pg.getImage ((int) width, (int) height, r2d, null, true, true);
    label.setIcon(new ImageIcon (image));

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Il suffit de définir l'alignement du JLabel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label.setHorizontalAlignment(JLabel.CENTER);
    C'est fait par défaut lorsque tu utilises le constructeur JLabel(Icon)

    a++

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Java/GWT
    Inscrit en
    Juillet 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java/GWT
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 32
    Par défaut
    Super! pile se qu'il me faillait. Merci

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

Discussions similaires

  1. comment centrer un JLabel dans un JPanel ?
    Par med_anis_dk dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 26/05/2007, 20h59
  2. Des Panels dans un jScrollPane
    Par cantabile dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 07/08/2004, 12h20
  3. Centrer le texte dans une TStringGrid
    Par Rodrigue dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/06/2004, 11h01
  4. Comment centrer un Texte dans un rectangle ...
    Par Djedjeridoo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 21h56
  5. Centrer un texte dans un string Grid
    Par christine dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/10/2002, 22h33

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