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

avec Java Discussion :

getValueAt(int, int) compilation problem


Sujet :

avec Java

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut getValueAt(int, int) compilation problem
    bonjour
    En compilant mon prg,ce dernier m'annonce ce message
    Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
    The type Fenetre.ZModel must implement the inherited abstract method TableModel.getValueAt(int, int)

    pourriez vous m'aidez svp

    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
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     
    import java.awt.Component;
    import javax.swing.JButton;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableCellRenderer;
     
    public class TableCompnent extends DefaultTableCellRenderer
    {
     public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column)
     {
    	 if(value instanceof JButton)
    	 {
    		 return(JButton)value;
    	 }
    	 else
    		 return this;
     }
    }
     
    import java.awt.BorderLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.AbstractTableModel;
    import javax.swing.table.TableModel;
     
    public class Fenetre extends JFrame 
    {
    	 private JTable tableau;
    	 private JButton change = new JButton("Changer la taille");
    	private Object[][] data;
     
    	 public Fenetre()
    	 {
    	 this.setLocationRelativeTo(null);
    	 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	 this.setTitle("JTable");
    	 this.setSize(600, 140);
     
    	 Object[][] data = 
    	 {	
    	  {"Cysboy", new JButton("6boy"),new Double(1.80),new Boolean(true)},
    	  {"BZHHydde",new JButton("BZH"),new Double(1.78),new Boolean(false)},
    	  {"IamBow",new JButton("Bon"),new Double(1.90),new Boolean(false)},
    	  {"FunMan", new JButton("Year"),new Double(1.85),new Boolean(true)}	    
    	 };
     
    	 String  title[] = {"Pseudo", "Age", "Taille","OK?"};
     
    	 ZModel model=new ZModel(data,title);
     
    	 System.out.println("Nombre de colonne:"+model.getColumnCount());
    	 System.out.println("Nombre de ligne:"+model.getRowCount());
     
    	 this.tableau = new JTable((TableModel) model);	
    	 this.getContentPane().add(new JScrollPane(tableau), BorderLayout.CENTER);
    	}
     
    	class ZModel extends AbstractTableModel
    	{
    	 private Object[][]data;
    	 private String[]title;
     
    	 /*Constructeur
    	 * @param data
    	 * @param title
    	 */
    	 public ZModel(Object[][]data,String[]title)
    	 {
    	  this.data=data;
    	  this.title=title;
    	 }
     
    	 /*Retourne le nombre de colonnes */
    	 public int getColumnCount()
    	 {
    	  return this.title.length;
    	 }
     
    	 /* Retourne le nombre de lignes */
    	 public int getRowCount()
    	 {
    	  return this.data.length;
    	 }
     
    	 /* Retourne le titre de la colonne à l'indice spécifié */
    	 public String getColumnName(int col)
    	 {
    	  return this.title[col];
    	 }
    	}
     
    	/* Retourne la classe de la donnée de la colonne*/
    	public Class getColumnClass(int col)
    	{
    		return this.data[0][col].getClass();
    	}
     
    	/* Retourne vrai si la cellule éditable:celle-ci sera donc éditable
    	 * @return boolean
    	 * */
    	public boolean isCellEditable(int row,int col)
    	{
    		if(getValueAt(0,col)instanceof JButton)
    		return false;
    		return true;
    	}
    	 /* Retourne la valeur à l'emplacement spécifié*/
    	 public Object getValueAt(int row,int col)
    	 {
    	  return this.data[row][col];
     
    	 }
     
     
    	 public static void main(String[]args)
    	 {
    	  Fenetre fen=new Fenetre();
    	  fen.setVisible(true);
    	 }
    	}

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Pourrais-tu nous expliquer, en français et avec tes mots à toi, ce que dit ce message d'erreur ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    je crois que j'ai trouvé mon erreur

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    C'est bien. Nous ne sommes pas tes valets. Réponds à ma question.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    merci maitre,j'ai corrigé mon erreur,
    merci beaucoup

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ça suffit pas. Tu n'arrêtes pas de poser des questions de ce genre.
    Tu dois chercher à progresser pour apprendre de tes erreurs, donc :

    Réponds à ma question.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    voilà, pb est venu de mon import, je l'ai corrigé
    maintenant mon prg marche impeccable,
    excusez moi pour le dérangement;
    merci beaucoup

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par domxaline Voir le message
    pb est venu de mon import,
    Absolument pas. Réponds à la question que je t'ai posée.
    Et en addendum, dis-nous en quoi "ton import" était un problème et comment tu l'as corrigé.

    Citation Envoyé par domxaline Voir le message
    excusez moi pour le dérangement;
    D'accord, à condition que tu répondes à mes questions et que tu lises tes messages d'erreur.
    Sinon, non. Tu déranges et tu le fais exprès.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    Voilà j'ai corrigé mon programme

    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
    import javax.swing.JButton;
    import javax.swing.table.AbstractTableModel;
    
    /* Classe modèle personnalisée*/
    class ZModel extends AbstractTableModel
    {
    
    }
    
    import java.awt.Component;
    import javax.swing.JButton;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableCellRenderer;
    
    public class TableComponent extends DefaultTableCellRenderer
    {
     public Component getTableCellRendererComponent
        (JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column)
     {
      //Si la valeur de la cellule est un JButton,on transtype notre valeur
      if(value instanceof JButton)
      {
       return(JButton)value;
      }
      else
        return this;
      }
     }
    
    import java.awt.BorderLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.AbstractTableModel;
    import javax.swing.table.TableModel;
    
    public class Fenetre extends JFrame 
    {
     private JTable tableau;
     private JButton change = new JButton("Changer la taille");
     private Object[][] data;
    		
     public Fenetre()
     {
      this.setLocationRelativeTo(null);
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      this.setTitle("JTable");
      this.setSize(600, 140);
    		
      Object[][] data = 
      {	
       {"Cysboy", new JButton("6boy"),new Double(1.80),new Boolean(true)},
       {"BZHHydde",new JButton("BZH"),new Double(1.78),new Boolean(false)},
       {"IamBow",new JButton("Bon"),new Double(1.90),new Boolean(false)},
       {"FunMan", new JButton("Year"),new Double(1.85),new Boolean(true)}	    
      };
    
      String  title[] = {"Pseudo", "Age", "Taille","OK?"};
    		
      ZModel model=new ZModel(data,title);
    		
      System.out.println("Nombre de colonne:"+model.getColumnCount());
      System.out.println("Nombre de ligne:"+model.getRowCount());
    		
      this.tableau = new JTable((TableModel) model);	
      this.getContentPane().add(new JScrollPane(tableau), BorderLayout.CENTER);
      this.tableau.setDefaultRenderer(JButton.class,new TableComponent());
     }
    	
     public static void main(String[]args)
     {
      Fenetre fen=new Fenetre();
      fen.setVisible(true);
     }
    }

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par domxaline Voir le message
    Voilà j'ai corrigé mon programme
    Absolument pas, la même erreur persiste sur la classe ZModel.

    Mais ce n'est pas ce que je t'ai demandé, je t'ai demandé de répondre à mes deux questions.
    Tu sais, le plus simple serait de juste faire ce que je te dis.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    Pourrais-tu nous expliquer, en français et avec tes mots à toi, ce que dit ce message d'erreur ?
    message erreu dit que:
    type Fenetre.ZModel must implement the inherited abstract method TableModel.getValueAt(int, int)

  12. #12
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    En français, et avec tes mots à toi ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut Domxaline,

    Aucune des questions posées dans cette discussion n'a obtenu de réponses, à commencer par celle posée initialement (correspondant au titre de la discussion). Pourquoi est-elle donc marquée "résolue" ? Un membre, qui utiliserait correctement le forum en faisant une recherche, ne pourrait pas obtenir de solution, pour un problème identique, avec cette discussion. Merci de penser aux autres : à ceux qui cherchent à t'aider en daignant répondre à leurs questions et aux autres membres du club, en contribuant par des réponses explicites incluant les solutions trouvées seul.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #14
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    En français, et avec tes mots à toi ?
    doivent mettre en œuvre la méthode abstraite héritée

  15. #15
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ce sont tes mots à toi, ça ? Hum, ok...

    Donc, avec ce message, de quoi se plaint le compilateur, et donc, que faut-il faire pour que ça ne l'embête plus ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    de quoi se plaint le compilateur,
    mettre en œuvre la méthode abstraite héritée (non vu abstraite héritée)

    que faut-il faire pour que ça ne l'embête plus ?
    class ZModel extends AbstractTableModel
    {

    }

  17. #17
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Il te demande d'implementer les 3 méthodes qui sont indiqué dans la javadoc a savoir : (ce qui semble acquis vu que tu dis : mettre en œuvre la méthode abstraite héritée sauf qu'il y'en a 3)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public int getRowCount();
    public int getColumnCount();
    public Object getValueAt(int row, int column);
    Mais je pense qu'une lecture un peu plus assidue de http://docs.oracle.com/javase/tutori...able.html#data pourrait t'aider a comprendre ce que tu ne comprends pas
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #18
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    J'essaie de lui faire prendre conscience qu'il faut lire les messages d'erreur avant de venir demander quoi faire quand on les a.
    Le message d'erreur du compilateur est tout simple et tout clair. Il faut juste lui donner ce qu'il demande. Il n'y avait pas lieu de demander de l'aide pour ça. C'est ce que j'essaie d'expliquer.

    Citation Envoyé par domxaline Voir le message
    mettre en œuvre la méthode abstraite héritée (non vu abstraite héritée)
    Non... Un compilateur ne peut pas se plaindre de mettre en œuvre des trucs.

    Quand un ordinateur te fait un message d'erreur, en gros c'est un reproche qu'il fait à ce que tu lui as donné. Il dit "ce que tu m'as donné, là, il y a un problème. Ce problème est : <et là il y a le message d'erreur>."

    Donc là le compilateur dit qu'il y a quelque chose qui ne va pas dans une classe. Quelle classe, et qu'est-ce qui ne va pas ? C'est facile : le message d'erreur le dit. Il n'y a pas de piège.


    Citation Envoyé par domxaline Voir le message
    class ZModel extends AbstractTableModel
    {

    }
    Je ne te demande pas du code, je te demande une explication. En français, avec des mots simples.
    Et puis c'est faux. La même erreur est toujours là.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/03/2014, 21h50
  2. int == int probleme
    Par lrgtk dans le forum Débuter
    Réponses: 5
    Dernier message: 30/08/2010, 14h18
  3. [caml light] ( int -> int ) -> int
    Par ylarvor dans le forum Caml
    Réponses: 5
    Dernier message: 26/11/2009, 19h35
  4. problème JTable getValueAt(int,int)
    Par trin86 dans le forum Composants
    Réponses: 8
    Dernier message: 16/02/2009, 19h29
  5. Réponses: 1
    Dernier message: 11/06/2004, 11h58

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