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 model spécial


Sujet :

Composants Java

  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut JTable et model spécial
    Bonjour,

    je veux creer un modele un peu spécial de tableau, spécial dans la forme des données, en effet mon modele doit contenir des méthodes pour remplir mon tableau ligne par ligne, voila le code de mon modele pour l'instant:

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    public class TabData extends AbstractTableModel {
     
    	private static final long serialVersionUID = 1L;
    	protected Vector<String[]> data;            //données
    	protected String[] columnNames ;    //noms de colonnes
     
     
    	public TabData() 
    	{
           data = new Vector<String[]>();
     
     
        }
     
    	public void setColumnName(String[] names)
    	{
    		columnNames = names;
    	}
     
    	public void addLine(String[] line)
    	{
    		data.add(line);
    	}
     
    	public String[] getLine(int pos)
    	{
    		return data.get(pos);
    	}
     
     
     
     
    	public int getColumnCount() {
    		return columnNames.length;
    	}
     
    	public int getRowCount() {
    		return data.size();
    	}
     
    	public String getColumnName(int col) {
            return columnNames[col];
        }
     
        public void setValueAt(String value, int row, int col) {
            data.get(row)[col] = value;
            fireTableCellUpdated(row, col);
     
        }
     
        public String getValueAt(int row, int col) {
            String[] line = data.get(row);
        	return line[col];
        }
     
        public Class getColumnClass(int c) {
            return getValueAt(0, c).getClass();
        }
     
     
        public boolean isCellEditable(int row, int col) {
     
            if (col < 2) {
                return false;
            } else {
                return true;
            }
        }
    en fait les lignes que je veux ajouter c'est des String[], les méthode pour ajouter/récuperer une ligne ou juste récuperer un valeur à une certaines coordonée marche mais pas la commande:

    contenu.setModel(test);

    contenu qui est une JTable

    est-ce que le probleme viens du type de data ?

    d'avance merci

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Qu'est-ce qui ne marche pas exactement ?
    As-tu bien fait "TabData test=new TabData()" ?

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut
    oui, en fait ce que je veux c'est une classe qui me permet de stocker des données, en ajoutant ligne par ligne, pouvoir récuperer c'est lignes et aussi afficher le contenu de ma classe sous forme d'un tableau

  4. #4
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Quand tu dis que ça marche pas, ton pc reboot ? il prend feu ? t'as une exception de levée ? un écran bleu ? un blocage du système ?

  5. #5
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    digne d'un incident nucléaire

  6. #6
    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
    Pourquoi ne pas utiliser le DefaultTableModel qui permet d'ajouter ligne à ligne dans ce cas (avec la méthode addRow)?

  7. #7
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Avec la stack complète de ton exception on pourrait peut être plus t'aider ...

  8. #8
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut
    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
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    	at DicoDetailLoad.<init>(DicoDetailLoad.java:84)
    	at MTA.actionMenu(MTA.java:330)
    	at MenuMouseListener.mouseClicked(MenuMouseListener.java:27)
    	at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    je sais pas si tout pourrai aider ...

  9. #9
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut
    je sais pas si je suis clair dans mes intentions non plus, les methodes de ma classe marche sans probleme, apres peut etre que JTable n'accepte pas n'importe quel forme de data, la en l'occurence c'est un vecteur de tableau de chaine de caractères, chaque ligne du vecteur représente une ligne et chaque case du tableau doit représenter une case de la ligne

    en gros la classe doit me servir à afficher mes lignes et à pouvoir stocker/ajouter/retirer des lignes

  10. #10
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Tu pourrais donner le code que tu as à la ligne qui génère l'exception ?
    A savoir : DicoDetailLoad.java:84

  11. #11
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 52
    Par défaut
    Je ne suis pas sur. Mais je crois que tu a cette erreur en cliquant sur ta jTable... Si elle est vide lors quand tu clique dessus tu a se genre d'erreur... sinon autre chose as tu initialisé les nom de tes colonnes ?

    enfin se sont juste des pistes car sans ton code s'est difficile.

  12. #12
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut
    Citation Envoyé par chtig
    Tu pourrais donner le code que tu as à la ligne qui génère l'exception ?
    A savoir : DicoDetailLoad.java:84
    contenu.setModel(test);

    contenu est une Jtable, test est ma classe citée plus haut

  13. #13
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    As-tu pensé à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JTable contenu = new JTable();
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  14. #14
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Effectivement l'exception est assez clair... Pour une raison ou une autre, ta variable contenu vaut null au moment où on clique ...

Discussions similaires

  1. Jtable et modele
    Par ramoucho75020 dans le forum Débuter
    Réponses: 6
    Dernier message: 23/03/2009, 18h14
  2. Jtable avec model personnalisé
    Par Raphael1980 dans le forum Composants
    Réponses: 2
    Dernier message: 03/03/2009, 22h02
  3. Jtable avec model + Dao + resultSet
    Par Raphael1980 dans le forum Composants
    Réponses: 7
    Dernier message: 01/03/2009, 11h26
  4. [JTable et Model] Pas d'affichage de données
    Par tchoukapi dans le forum Composants
    Réponses: 10
    Dernier message: 08/06/2007, 15h55
  5. [JTable] Plusieurs JTable > plusieurs Model ?
    Par Zanton dans le forum Composants
    Réponses: 7
    Dernier message: 24/05/2006, 20h47

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