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 :

Affichage JTable tronquée


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de reno_tidus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 132
    Par défaut Affichage JTable tronquée
    Bonjour à tous,

    Il m'arrive un problème que je n'avais jamais rencontré et j'ai beau le prendre dans tous les sens, impossible de m'en sortir. Ma dernière solution et donc de m'adresser à vous.

    Sur un écran, je dois afficher plusieurs JTable les unes en dessous des autres avec une largeur fixe mais une hauteur variable selon le nombre de ligne dans la table (en gros, ascenseur horizontal mais pas de vertical). J'ai donc fait une boucle qui m'affiche mes JTable, je calcule le nombre de lignes et fixe les MinimumSize et MaximumSize du JScrollPane qui la contient à une largeur fixe et la hauteur calculé. Toutes mes JTable s'inserre bien dans mon écran et tout fonctionnait bien lors de mes tests...jusqu'au dernier test.

    Dans ce dernier test, j'ai beaucoup plus de ligne à afficher (~70 lignes contre maximum 10 dans mes premiers tests). Et là ça ne fonctionne plus très bien, seules les premières lignes de la JTable sont visibles et elle est coupé au milieu d'une ligne et le reste est impossible à voir, par contre en dessous j'ai un gros espace vide (qui correspond à la taille réelle de la JTable. J'ai essayer d'afficher la taille de la JTable et ce sont les bonnes valeurs. Je ne comprend vraiment pas pourquoi l'affichage est tronqué en plein milieu.

    Si vous pouviez m'aider ça serait super.

    Merci.

  2. #2
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    tu peux fournir du code qui montre le problème?

  3. #3
    Membre éprouvé Avatar de reno_tidus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 132
    Par défaut
    Je ne peux pas vraiment donner de code car c'est un très gros projet et pleins de classes ont été créées et le code ne servirait à rien car le noms des différentes classes ne vous dirai rien...
    Je viens de faire un nouveau test, et ça va peut-être vous aider, j'ai un composant créé qui est une JTable à l'intérieure d'un JScrollPane (pour éviter de faire la manip à chaque fois j'ai créer ce composant) si je l'affiche sur mon écran, le composant à une taille mais j'aimerais que la hauteur s'adapte au nombre de lignes ainsi s'il y a beaucoup de ligne, j'aurai un long tableau mais sans ascenseur et s'il y a très peu de ligne, je pourrais le raccourcir pour ne pas avoir un vide qui correspond au JScrollPane qui est plus grand que la table.
    J'ai donc mis setMaximumSize et setMinumumSize au valeur qu'il faut et si c'est un grand tableau, le composant se place bien plus haut dans le containeur car il va occuper plus de place mais seul la partie de la haute est visible et la taille de cette partie est celle qu'avait le composant lorsque je ne précisait pas de taille.

    Citation Envoyé par sinok Voir le message
    Pour faire simple, tu mets toutes tes JTables dans des JPanel (avec le Header au dessus) sans les mettre dans un JScrollPane. puis tu ajoutes tous les JPanels dans un JPanel puis ce JPanel dans un JScrollPane.
    Le problème c'est que (comme je viens de le dire) j'ai un composant qui est une JTable dans un JScrollPane et je dois absolument utiliser ce composant.

  4. #4
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    J'ai pas du bien saisir ton explication...
    est-ce que tu as une JScrollPane par JTable ?

  5. #5
    Membre éprouvé Avatar de reno_tidus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 132
    Par défaut
    En fait, j'ai créer un composant MaTable qui est une JTable dans un JScrollPane donc oui j'ai bien un JScrollPane par JTable, ensuite le tout est encore dans un JScrollPane car les MaTable sont tous les uns en desous des autres et ça depasse la hauteur de l'écran.

    Pour mieux comprendre j'ai mis deux images. On peut voir mon grand conteneur qui contient les JTables les unes en dessous des autres. Sur l'image 0, j'ai mon MaTable avec des barres de défilements. Je veux supprimer celle horizontale donc j'agrandit mon composant et j'obtient l'image 1. On voit tout de même que le composant à la bonne taille car il y a la barre de défilement sur le grand conteneur.
    Images attachées Images attachées   

  6. #6
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    j'agrandit mon composant
    Quel composant?

  7. #7
    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
    Pour faire simple, tu mets toutes tes JTables dans des JPanel (avec le Header au dessus) sans les mettre dans un JScrollPane. puis tu ajoutes tous les JPanels dans un JPanel puis ce JPanel dans un JScrollPane.

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

Discussions similaires

  1. [AC-2007] etat type contrat trop long : affichage coupé/tronqué/chevauché
    Par enigmatiqk dans le forum IHM
    Réponses: 2
    Dernier message: 27/09/2009, 20h57
  2. probleme Affichage JTable
    Par krikri150489 dans le forum Composants
    Réponses: 3
    Dernier message: 03/06/2009, 23h00
  3. Probleme affichage jtable
    Par norkoffire dans le forum Composants
    Réponses: 17
    Dernier message: 13/06/2007, 18h26
  4. Problème affichage JTable
    Par matt8-5 dans le forum Composants
    Réponses: 3
    Dernier message: 03/04/2007, 19h25
  5. Actualiser l'affichage jtable
    Par Blast dans le forum Composants
    Réponses: 6
    Dernier message: 21/04/2006, 18h45

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