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 et son modèle en utilisant Netbeans


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 107
    Par défaut JTable et son modèle en utilisant Netbeans
    Bonjour,
    J'ai essayé de modifier le code (produit à partir de la palette Netbeans) ci-dessous pour créer ma JTable et son modèle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    jTable1.setModel(new javax.swing.table.DefaultTableModel(
                new Object [][] {
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null}
                },
                new String [] {
                    "Title 1", "Title 2", "Title 3", "Title 4"
                }
            ));
            jScrollPane1.setViewportView(jTable1);
    Pour cela j’ai procédé comme çà :
    Dans la déclaration de nom de colonnes et l’initialisation des données, j’ai utilisé columnNames et data pour pouvoir les utiliser dans l’implémentation des méthodes abstraites du modèle du JTable.

    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
    jTable1.setModel(new javax.swing.table.DefaultTableModel(
                Object [][] data = {
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null}
                },
                String [] columnNames = {
                    "Title 1", "Title 2", "Title 3", "Title 4"
                }
            ));
            jScrollPane1.setViewportView(jTable1);
    
    ---------------------------------------------------------------
    
    class SONTableModel extends AbstractTableModel {
    
          public int getColumnCount() {
            return columnNames.length;
        }
      public int getRowCount() {
            return data.size();
        }
     public String getColumnName(int col) {
            return columnNames[col];
        }
    
    
          
    }
    problème : data et columnNames ne sont pas reconnus dans la classe SONTableModel et provoquent des erreurs au niveau de la déclaration et l'initialisation.

    Merci d'avance.

  2. #2
    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
    Bonjour

    data et columnName sont des champs protected de l'implémentation par défaut de l'AbstracTableModel. A savoir DefaultTableModel.

    SI tu veux étendre AbstractTableModel à toi de fournir ton propre mécanisme de stockage des colonnes/données. Si tu veux vraiment avoir accès à data et columnNames il te faut hériter de DefaultTableModel.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 107
    Par défaut
    Bonjour,

    En gardant la déclaration des colonnes et l'initialisation des données du code fournie par la palette Netbeans, j'ai déclaré columnNames et data dans la classe SONTableModel et là pas d'erreur :

    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
    class SONTableModel extends AbstractTableModel {
           protected String [] columnNames ;
           protected Object[][] data;
    
            @Override
            public int getRowCount() {
                return data.length;
            }
    
            @Override
            public int getColumnCount() {
                return columnNames.length;
            }
    
            @Override
            public Object getValueAt(int row, int col) {
               return data[row][col];
            }
       }
    En fait je veux utiliser JTable pour afficher les données d'une table (DB Mysql); comme c'est ma première d'essayer d'utiliser ce composant Swing , alors je suis un peu les explications que j'ai pu trouver sur le net.

    Ainsi, je voudrais que vous m'expliquer la prcedure à suivre pour cela ou bien me guider vers des liens expliquant l'utilisation de JTable pour afficher les données à partir d'une base de données.


    merci.

  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
    Un bon tutoriel pour débuter avec le composant JTable.

    http://baptiste-wicht.developpez.com.../swing/jtable/

    Ensuite il te suffit de récupérer tes données via JDBC pour remplir le modèle de ta JTable.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 107
    Par défaut
    Bonjour,

    Merci Sinok pour ce lien. Je vais le consulter pour mieux comprendre d'abord le fonctionnement de JTable.

    Pour le reste je travaille sur la couche présentation (Client ejb3 , connexion RMI, Jboss, Mysql).

    Merci.

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

Discussions similaires

  1. Comment ouvrir son Programme sans utiliser Dev-C++?
    Par Neferious dans le forum Dev-C++
    Réponses: 8
    Dernier message: 21/07/2008, 14h22
  2. Réponses: 8
    Dernier message: 10/10/2007, 07h19
  3. Réponses: 1
    Dernier message: 23/05/2007, 16h39
  4. [SON] modèles de son
    Par 0xYg3n3 dans le forum Windows XP
    Réponses: 2
    Dernier message: 07/11/2006, 14h19
  5. [JTable] Incompréhension du modèle
    Par etiennegaloup dans le forum Composants
    Réponses: 6
    Dernier message: 15/09/2005, 20h00

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