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 :

[JTable] affichage optionnel de certaines lignes


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Par défaut [JTable] affichage optionnel de certaines lignes
    Bonjour!

    Je vous écris car je travaille sur une JTable définie comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    import javax.swing.*; 
    import java.util.*;
     
    class TableauResultats extends JTable {
      //avec cette classe nous disposons des fonctionnalités de JTable, plus une fonction qui nous renvoit la ArrayList contenant les éléments affichés
     
      public TableauResultats(ArrayList<ElementDeLHolotheque> data) {
        super(new TableSorter(new TableauResultatsModel(data)));
        getTableHeader().setToolTipText("Cliquer pour modifier le critère de classement des éléments.");    
        sorter = (TableSorter) this.getModel();
        trm = (TableauResultatsModel) sorter.getTableModel();
        sorter.setTableHeader(getTableHeader());
      }
     
     
     
      public ArrayList<ElementDeLHolotheque> getListe() {
        return trm.getData();
      }
     
      public TableauResultatsModel getMonModel() {
        return trm;
      }
     
      public TableSorter getSorter() {
        return sorter;
      }
     
     
      TableSorter sorter;
      TableauResultatsModel trm;
    }
    Je précise que TableauResultatsModel est mon model, qui hérite de AbstractTableModel, et TableSorter est la classe fournie dans le tutorial de Sun sur les JTable qui permet de trier les lignes selon des clics sur les headers des colonnes.

    La méthode getData() de ma classe renvoie une ArrayList
    qui est un champ de mon model.

    Mon problème: je voudrais, depuis mon interface Graphique, choisir de ne pas afficher certains des objets de ma ArrayList dans mon JTable.

    Mon idée: donner à chacun de mes objets ElementDeLHolotheque un champ booléen "affichage" qui vaut "true" s'ils doivent être affichés, "false" sinon.

    Donc j'aurai une méthode qui modifiera "affichage" sur chaque objet, et il faudra que la JTable réagisse en effaçant ou en réaffichant certains objets.

    Vous remarquerez que je peut récupérer mon ArrayList qui contient les données. En effet j'en ai besoin pour effectuer des sauvegardes, et l'idéal serait que la nouvelle méthode masque ou démasque des objets, mais ne les supprime pas de la liste (et ne change pas leur place dans la liste).

    En clair, si mon ArrayList est {aaa, bbb, ccc, ddd}
    et que je choisit de n'afficher que aaa et ddd dans ma JTable, je veux qu'ils gardent leurs indices 0 et 3.

    Toute aide me serait très précieuse!

  2. #2
    Membre émérite
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Par défaut
    tu peut pas passer a mustang et utiliser des RowSorter et RowFilter?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Par défaut
    En fait je ne connais pas mustang, mais comme j'ai basé mon programme sur l'utilisation de TableSorter je préfèrerais continuer avec!

  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
    Sinon tu as la JXTable du projet SwingX qui possède de base le tri, le filtrage, le surlignage des lignes ou encore l'affichage (ou non) de certaines colonnes

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Par défaut
    Okay. Le problème est que je suis encore étudiant, je développe cette application dans le cadre d'un projet, et l'enseignant qui encadre mon projet veut que je me limite aux API standard de JAVA...
    Mais (question surement bête) comment intégrer SwingX dans mon appli? S'agit-il simplement de classes à copier?

  6. #6
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par Nicool
    Okay. Le problème est que je suis encore étudiant, je développe cette application dans le cadre d'un projet, et l'enseignant qui encadre mon projet veut que je me limite aux API standard de JAVA...
    Mais (question surement bête) comment intégrer SwingX dans mon appli? S'agit-il simplement de classes à copier?
    Il faut que tu télécharges la libraire swingx sur leur site (c'est un fichier .jar) et ensuite, il te faut ajouter ce .jar au class-path de ton projet.

Discussions similaires

  1. [XL-2010] Affichage de certaines lignes
    Par hasna3105 dans le forum Excel
    Réponses: 1
    Dernier message: 16/01/2015, 14h36
  2. [XL-2010] Affichage de certaines lignes
    Par hasna3105 dans le forum Excel
    Réponses: 1
    Dernier message: 16/01/2015, 12h02
  3. [MySQL] Affichage simple d'une certaine ligne d'un tableau
    Par linux_21 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/06/2008, 09h19
  4. Coloration de certaines lignes jTable
    Par lhpp dans le forum Composants
    Réponses: 13
    Dernier message: 07/11/2006, 21h26
  5. [jTable] Dimensionner la hauteur de certaines lignes
    Par delma dans le forum Composants
    Réponses: 11
    Dernier message: 27/10/2006, 10h29

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