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 :

Dimension d'un JScrollPane.


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut Dimension d'un JScrollPane.
    Bonjour à tous,
    je ne poste pas sans avoir cherché, rassurez vous.
    Après avoir écumer pas mal de topic, j'ai appris que le JScrollPane se dimensionne selon ce que renvoie la méthode getPreferredScrollableViewportSize du composant.

    J'ai donc essayé ce code : (code complet au cas ou ça viendrai d'autre chose

    Important ! Ce que j'ai mis en commentaire, ce sont des bout de code que j'ai essayé, mais avec ou sans, ça ne donne rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    t=JModelScreenActivity.create(this, Connect.getProcessor().popListActivities(m), m);
     
            TableRowSorter<JModelScreenActivity> sorter = new TableRowSorter<JModelScreenActivity>((JModelScreenActivity) t.getModel());
     
            t.setRowSorter(sorter);
            t.setPreferredScrollableViewportSize(new Dimension(this.getWidth(), 100));
            JScrollPane js = new JScrollPane(t);
            //js.setViewportView(t);
            //js.setLayout(new ScrollPaneLayout());
            getContentPane().add(js, BorderLayout.CENTER);
    J'ai tout essayé, setPreferredSize, setMaximumSize, setSize, rien n'y fait !!
    Merci beaucoup.

    EDIT

    je viens de trouvé la méthode JTable.createScrollPaneForTable(t), mais elle est deprecated et ne marche pas

  2. #2
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    J'ai tout essayé, setPreferredSize, setMaximumSize, setSize, rien n'y fait !!
    Au fait, que veux-tu faire exactement ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    excuse moi, je ne l'ai pas dis explicitement, je cherche à redimensionner mon JScrollPane. Par exemple, je voudrais qu'il fasse 300 px de haut ...

    Au passage, il y a la solution d'ajouter le JScrollPane dans un JPanel, et de dimensionner le JPanel père ... mais ce n'est pas très propre, et j'aimerai tiré au clair cette histoire de PreferredScrollableViewportSize

  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
    Il faut éviter les coordonnées et tailles fixes comme la peste si l'on veut faire une interface potable.

    En effet, rien n'est pire qu'une interface qui ne s'adapte pas à la taille de la fenêtre, sans même parler des incohérences que ça peut amener sur les divers OS ou Look&Feels. cf le sujet suivant: http://www.developpez.net/forums/d52...rents-layouts/

    Je te conseille plutôt d'utiliser un agencement via une combinaison de layouts.

    Pourquoi cherches tu à faire en sorte que ton JScrollPane fasse 300px exactement. Dès que tu vas agrandir la fenêtre ça va être moche au possible.

  5. #5
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    en fait, ce serait pour masquer le "trop-plein" d'un tableau ...
    Se reporter à ce topic pour infos

    Je résume quand même, je ne devrais afficher que les 10 premières lignes de mon tableau, mais il faudrait que lors du tri, tout soit pris en compte.
    C'est pour ça que j'ai pensé à limité la hauteur de mon tableau.
    En fait, me tableau serait entier, sauf que visuellement on ne verra que les dix premières lignes. Mon idée de redimensionnement présente en plus l'avantage de permettre d'aller voir les lignes suivantes ...
    L'idée est donc de limiter simplement la hauteur ... et ce serait encore mieux de définir une hauteur maximale, pour que si la fenêtre soit trop petite, cela s’adapte quand même ...

  6. #6
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    Bonjour, je viens de trouver la solution
    En fait, dans le mon code, j'ajoutai ma JTable directement au contentPane.
    Mais quand on l'ajoute dans un JPanel, ça marche, et le JScrollPane prend la dimension spécifiée dans setPreferredScrollableViewportSize (sur la JTable)

    Voilà, si ça peu servir à d'autres ...

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

Discussions similaires

  1. JScrollPane problème de rafraichissement après un changement de dimension
    Par Gouyon dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 14/11/2013, 09h54
  2. [GridBagLayout] Problème de dimension pour un JScrollPane
    Par cmoa59 dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 26/07/2005, 11h58
  3. Dimensions des colonnes d'un TDBGrid
    Par osmose22 dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/12/2002, 11h27
  4. Réponses: 4
    Dernier message: 03/12/2002, 16h47
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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