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

 Java Discussion :

[JTable] Plusieurs JTable affichant les memes données differemment..


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 47
    Points : 37
    Points
    37
    Par défaut [JTable] Plusieurs JTable affichant les memes données differemment..
    Bonjour,

    J'essaye de comprendre le fonctionnement des jtables avec leurs modeles. Au sein de mon projet, il y a plusieurs JTables qui affichent les mêmes données mais pas forcement les mêmes colonnes (ordre et nombre de colonnes différents) donc ma question est la suivante :


    Dois-je tout de même avoir qu'un seul model contenant les données ou plusieurs models pour chaque JTable héritant d'un model contenant les données ?

    Comment faire en sorte de n'afficher que certaines colonnes pour certaines jtable ou de modifier leur ordre ?

    Comment le model doit se comporter pour afficher correctement les données dans toutes les jtables ?

    Merci d'avance..

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Il te faut un seul modèle qui gère les données.
    Ensuite, et pour chaque JTable, tu peux utiliser le design pattern Decorator.
    Le principe est relativement simple : le modèle de la JTable est un simple "passe-plat". Lors de sa construction, il faut lui donner le modèle contenant les données (ou un modèle qui décore un autre modèle gérant les données...).
    chaque méthode du décorateur va appeler la méthode correspondante du modèle passé en paramètre. Il peut faire des modifications sur les données au passage : retirer des colonnes, ajouter des champs calculés, retirer des lignes...

    Tu peux "empiler" autant de modèles décorateurs que tu veux, pourvu que le dernier modèle de la pile soit l'unique modèle contenant les données. Le premier de la pile est celui transmis à la JTable.

    Les données sont à un seul endroit, les JTable ne sont que des vues.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 47
    Points : 37
    Points
    37
    Par défaut
    Merci pour ta réponse,

    Tout d'abord, il faut prendre en compte que nos données sont dans un fichier externe et donc chargée dans un objet au démarrage du programme pour ensuite être affichée différemment dans différents onglets..

    Cela signifie-t-il que je vais devoir balader l'objet ModelGeneralWithData dans tout mon code pour pouvoir le mettre en paramètre des models custom ?

    Mes models customs doivent-ils hériter de AbstractTableModel ou de ModelGeneralWithData ?


    Est-ce mauvais si tous mes models customs héritent de ModelGeneralWithData et que c'est l'objet contenant les données qui se balade dans le code pour être passé en paramètre aux models customs..

    J’espère être clair mais c'est pas évident à expliquer..

    Merci d'avance pour votre aide.

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par JuFromParis Voir le message
    Tout d'abord, il faut prendre en compte que nos données sont dans un fichier externe et donc chargée dans un objet au démarrage du programme pour ensuite être affichée différemment dans différents onglets..
    Ce n'est pas gênant. Peut importe comment le modèle initial gère ses données : déjà stockées en local, requête sur base de données...

    Cela signifie-t-il que je vais devoir balader l'objet ModelGeneralWithData dans tout mon code pour pouvoir le mettre en paramètre des models custom ?
    Quelle que soit la technique utilisée, les données doivent être disponibles la ou tu en as besoin. Puisque c'est ModelGeneralWithData qui contient les données, alors oui, il faut le donner en paramètre la ou tu en as besoin.

    Mes models customs doivent-ils hériter de AbstractTableModel ou de ModelGeneralWithData ?
    Pour le design pattern decorator, les customs model sont de simple AbstractTableModel.

    Est-ce mauvais si tous mes models customs héritent de ModelGeneralWithData et que c'est l'objet contenant les données qui se balade dans le code pour être passé en paramètre aux models customs..
    Mauvais, non. Il y a toujours des argument en faveur d'une architecture.
    Cependant, il n'y a aucune raison pour que tes modeles customs héritent de ModelGeneralWithData.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/10/2012, 23h35
  2. Réponses: 0
    Dernier message: 26/11/2009, 09h52
  3. Plusieurs projets pour les meme sources
    Par henryjeanl dans le forum Eclipse PHP
    Réponses: 1
    Dernier message: 26/09/2007, 22h42
  4. [JTable] Plusieurs JTable > plusieurs Model ?
    Par Zanton dans le forum Composants
    Réponses: 7
    Dernier message: 24/05/2006, 19h47
  5. [JTable] Ne pas afficher les entêtes de colonnes
    Par nicolas.pied dans le forum Composants
    Réponses: 2
    Dernier message: 27/01/2006, 11h22

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