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 :

pb passage de paramètre à un modèle de Jtable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web en Loisir
    Inscrit en
    Janvier 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web en Loisir

    Informations forums :
    Inscription : Janvier 2006
    Messages : 129
    Par défaut [résolu] pb passage de paramètre à un modèle de Jtable
    bonjour,

    J'ai décidément pas de chance avec les passages de paramètres.
    Voilà, j'ai initialisé un tableau à 2 dimensions (ArrayList d'ArrayList) dans mon TableModel.
    Je voudrais ajouter une ligne à ce tableau et j'ai créer la fonction update à l'intérieur de mon model qui doit faire cela et doit mettre à jour la table.
    Seulement je ne peux pas appeler cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    principalModel.update("Coco", "Lapin");
    car j'ai une erreur à la compilation.
    Cannot find symbol
    method update(java.lang.String,java.lang.String)
    interface javax.swing.table.TableModel
    principalModel.update("Coco", "Lapin")


    2è question :
    dois-je utiliser fireTableDataChanged ou fireTableRowsInserted ?

    Merci d'avance.

    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
    import javax.swing.*;
    import javax.swing.table.*;
    import java.awt.*;
    import java.util.*;
    import java.awt.event.*;
    import javax.swing.text.*;
     
    public class essai extends JPanel {
     
    public String[] columnNames = {"Nom", "Prenom" };	
    private String[] col0 = { "Beon", "Rolland C", "Lucas" };
    private String[] col1 = { "Yves", "Christophe", "Herve" };
    private ArrayList[] data;	    				   
     
     
        public essai() {
    	    data = new ArrayList[columnNames.length];
    	    for (int i=0; i<columnNames.length; i++) 
    	    		data[i] = new ArrayList();
     
    	    for (int i = 0; i < col0.length; i++) {
    	    	data[0].add(col0[i]); // nom
    	    	data[1].add(col1[i]); // prenom
     
        	}
     
    	    TableModel principalModel = new MyTableModel(data);
            JTable table = new JTable(principalModel); 
            table.setPreferredScrollableViewportSize(new Dimension(450, 400));
            JScrollPane scrollPane = new JScrollPane(table);
            add(scrollPane);
            principalModel.update("Coco", "Lapin");        
        }
     
        public class MyTableModel extends AbstractTableModel {
            ArrayList[] donnees;
            ArrayList[] newd;
            String nom;
            String prenom;
     
            public MyTableModel(ArrayList[] donnees) {
    	        updatetab(donnees);
            }
     
            public void updatetab(ArrayList[] newd) {
    	    	this.donnees = newd;
    	    	fireTableDataChanged();   
            }
     
        	public void update(String nom, String prenom) {
           		this.nom = nom;
           		this.prenom = prenom;
    	    	donnees[0].add(nom);
    	    	donnees[1].add(prenom);
    	    	fireTableDataChanged();
    		}
     
    	    public int getColumnCount() {
                return columnNames.length;
            }
     
            public int getRowCount() {
                return data[0].size();
            }
     
            public String getColumnName(int col) {
                return columnNames[col];
            }
     
            public Object getValueAt(int row, int col) {
                return donnees[col].get(row);
            }
     
            public Class getColumnClass(int c) {
                return getValueAt(0, c).getClass();
            }
     
            public void setValueAt(Object value, int row, int col) {
                donnees[col].set(row, value);
                fireTableCellUpdated(row, col);
            }
         }
     
       private static void createAndShowGUI() {
            JFrame.setDefaultLookAndFeelDecorated(true);
            JFrame frame = new JFrame("TableDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
            JComponent newContentPane = new essai();
            newContentPane.setOpaque(true); //content panes must be opaque
            frame.getContentPane().add(new essai(),
                                     BorderLayout.CENTER);
            frame.pack();
            frame.setVisible(true);
        }
     
        public static void main(String[] args) {
           javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
    }
    [/code]

  2. #2
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    tu ne peux pas appeler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    principalModel.update("Coco", "Lapin");
    car tu as initialisé principalModel comme TableModel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TableModel principalModel = new MyTableModel(data);
    il faut que tu specifie le nom de ta classe : remplace cette ligne par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MyTableModel principalModel = new MyTableModel(data);
    ca devrait fonctionner

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web en Loisir
    Inscrit en
    Janvier 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web en Loisir

    Informations forums :
    Inscription : Janvier 2006
    Messages : 129
    Par défaut
    Merci beaucoup !

    Quelle erreur bête, ça faisait 2 jours que je tournais en rond. Je voyais plus rien.

    Faut dire je débute et j'ai pas encore bien l'habitude de manipuler les objets java. La POO c'est strict quand même, et donc c'est dur quand on a pas l'habitude...

  4. #4
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    tu devrais utiliser un IDE pour developper(genre eclipse), ca t'aiderai a voir rapidement ce genre d'erreur

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

Discussions similaires

  1. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58
  2. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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