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 :

[Débutant] JScrollPane centré


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 82
    Par défaut [Débutant] JScrollPane centré
    bonjour,

    j'ai un JPanel que je met dans un JScrollPane pour avoir les ascenseurs si besoin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.setViewportView(panel);
    mon JScrollPane a une taille qui ne bouge pas.
    si le JPanel est + gros, tout se passe bien les ascenseurs apparaissent.
    par contre, si le JPanel est + petit, il n'est pas centré mais commence en (0, 0), autrement dit aligné sur le coin en haut à gauche du JScrollPane.

    Est-il possible que le JPanel soit automatiquement centré dans le JScrollPane?
    ce serait nettement + joli...

    j'ai regarde dans la javadoc et sur google mais je suis surement passé à coté.

    merci d'avance

  2. #2
    Membre éprouvé
    Inscrit en
    Mai 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Par défaut
    Sûrement Cherche des infos sur les BorderLayout et sur le positionnement BorderLayout.CENTER, ça devrait faire ton bonheur...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 82
    Par défaut
    on ne peut pas mettre un BorderLayout sur un JScrollPane.
    Le seul layout dispo est le ScrollPaneLayout...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 82
    Par défaut
    personne n'a la moindre idee?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 82
    Par défaut
    trouvé la reponse sur un autre forum.
    le principe: mettre une bordure vide avec la taille voulue.

    je la met ici ca peut tjrs servir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dimension tableDimension = table.getPreferredSize();
    Dimension scrollpaneDimension = scrollpane.getSize();
    int margeHeight = (scrollpaneDimension.height - tableDimension.height) / 2;
    int margeWidth = (scrollpaneDimension.width - tableDimension.width) / 2;
    if (margeHeight < 0) margeHeight = 0;
    if (margeWidth < 0) margeWidth = 0;
    Insets insets = new Insets(margeHeight, margeWidth, margeWidth, margeHeight);
    scrollpane.setBorder(BorderFactory.createEmptyBorder(insets));

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 47
    Par défaut
    J'ai un problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BorderFactory.createEmptyBorder(insets)
    Eclipse me dit : "Remove argument" !!!

    En gros je peux pas mettre d'argument dans cette methode ?!

    Pourquoi ca marche chez toi ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 82
    Par défaut
    bonjour,

    je travaille sous eclipse aussi, et je n'ai pas eu de problemes.
    regarde la javadoc pour savoir comment fonctionne createEmptyBorder(...) exactement.

    sinon j'ai trouvé une autre solution bcp + simple.
    si tu cherches à centrer un JPanel dans un JPanel automatiquement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    centerPanel = new JPanel();
    borderPanel = new JPanel();
    borderPanel.setLayout(new GridBagLayout());
    borderPanel.add (centerPanel, 
                      new GridBagConstraints (0, 0, 1, 1, 0, 0,
                                                              GridBagConstraints.CENTER,
                                                              GridBagConstraints.CENTER,
                                                              new Insets (0,0,0,0), 0, 0));
    cela marche nickel.
    bon courage

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 47
    Par défaut
    Ok merci.

    Pour createEmptyBorder(), il faut lui passer 4 entiers, donc plus besoin du Insets.

    Je peux pas utilisé ton dernier code tel quel car c'est un JScrollPane qui contient un Jcomponent chez moi ....

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 82
    Par défaut
    ok.

    sache que j'utilise ça avec un JScrollPane aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getViewport().add(borderPanel);
    "this" représentant ma classe, qui etend "JScrollPane"

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

Discussions similaires

  1. [Débutant] Problème JScrollPane et plein écran
    Par Beacon dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 02/10/2007, 10h30
  2. [Débutant] JScrollpane et largeur.
    Par jbwan dans le forum AWT/Swing
    Réponses: 24
    Dernier message: 16/06/2006, 13h13
  3. [débutant] taille d'un JScrollPane
    Par Benoit_Durand dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 07/04/2005, 11h15
  4. [Débutant] JPanel dans JScrollPane
    Par Nicolas_75 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 06/04/2005, 10h39
  5. [Débutant] Jframe/JInternalFrame: prb avec JScrollPane
    Par flzox dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 12/12/2004, 01h08

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