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

 Java Discussion :

Jtable et modele


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 70
    Par défaut [Résolu]Jtable et modele
    Bonjour a tous ,

    Je souhaite créer une Jtable qui va contenir une matrice 10*10 de char .

    Le tableau une fois crée n a pas besoin d 'etre dynamique .

    J'ai crée ma fenetre Jframe avec un Jpanel .

    Je crée le Jtable en parralelle je derive la classe AbstractTableModel ( que je nomme MonModèle , je passe en paramettre de cette classe ce que je souhaite )

    Et pourtant ca marche pas .


    Je vous mets le code si quelq'un pouvait m'aider ca fait une semaine que je lis plein de tuto et j y arrive toujours pas . j'ai meme essayer des vector de vector pour les données a metre dans le tableau !!!

    voici le code :

    classe Fenetre

    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
    package Graphique;
    import Dico.Dico;
    import Dico.Mot;
    import Grille.Grille; 
     
     
     
    import java.awt.BorderLayout;
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import javax.swing.JTable;
     
    public class Fenetre extends JFrame {
     
    	private static final long serialVersionUID = 1L;
     
    	private JPanel jContentPane = null;
     
    	private JTable jTable = null;
     
     
    	/**
             * This is the default constructor
             */
    	public Fenetre() {
    		super();
    		initialize();
    	}
     
    	/**
             * This method initializes this
             * 
             * @return void
             */
    	private void initialize() {
    		this.setSize(300, 200);
    		this.setContentPane(getJContentPane());
    		this.setTitle("JFrame");
    	}
     
    	/**
             * This method initializes jContentPane
             * 
             * @return javax.swing.JPanel
             */
     
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
     
     
    	 new Fenetre() ; 
     
     
     
    	}
     
     
    	private JPanel getJContentPane() {
    		if (jContentPane == null) {
    			jContentPane = new JPanel();
    			jContentPane.setLayout(new BorderLayout());
    			jContentPane.add(getJTable(), BorderLayout.CENTER);
    		}
    		return jContentPane;
    	}
     
    	/**
             * This method initializes jTable       
             *      
             * @return javax.swing.JTable   
             */
    	private JTable getJTable() {
    		if (jTable == null) {
    			jTable = new JTable();
    			char[][] tab = null ;
    			Grille g = new Grille(10)	;
    			g.remplir();
    			for (int i = 0 ; i < g.getTaille() ; i++){
    				for (int j = 0 ; j < g.getTaille() ; j++){
    					tab[i][j]=g.getCase(i, j);
    				}
    			}
    			MonModele model = new MonModele(tab);
    			jTable.setModel(model);
     
    		}
    		return jTable;
    	}
     
    }

    Et la classe MonModele :

    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
    package Graphique;
    import javax.swing.*;
    import javax.swing.table.*;
    import java.io.*;
    import java.util.*;
     
     
     
    public class MonModele extends AbstractTableModel {
     
    	   private char[][] donnees;
           private final String[] Colonnes = {"1", "2","3","4","5","6","7","8","9","10"};
     
     
    	   public MonModele(char[][] donnees) {
     
    	      this.donnees = donnees;
     
     
     
    	   }
     
    	   public int getColumnCount() {
     
    	       return this.donnees.length;
     
    	   }
     
    	   public Object getValueAt(int parm1, int parm2) {
     
    	       return donnees[parm1][parm2];
     
    	   }
     
    	   public int getRowCount() {
     
    	       return donnees.length;
     
    	   }
     
     
     
     
    	}

  2. #2
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,

    c'est quoi le problème exactement?? est-ce qu'il y a une erreur de compilation? une exception?

    si ton problème est que rien ne s'affiche, ajoute à la méthode initialize()

  3. #3
    Membre expérimenté Avatar de erictoguem
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut Ta méthode getJTable() a un problème
    Ta méthode getJTable() a un problème. Ton tableau à deux dimension de caractères tab est initialisé à null alors que tu le remplis plus bas.
    tu dois plutôt faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    char[][] tab = new char[10][10];

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 70
    Par défaut
    J'ai effectué vos 2 modification et ca marche toujours pas .


    JE pense que c'est parceque dans mon modele je fais passer des arguments primitifs au constructeur et pas des Object .

    Est ce celà ? je vais essayer avec des vectors .

    Merci a vous

    Si quelqu'un voit ou est ce que je me plante ....

  5. #5
    Membre expérimenté Avatar de erictoguem
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut
    je pense pas que ce soit ça le problème

  6. #6
    Membre expérimenté Avatar de Shinzul
    Homme Profil pro
    Lecteur assidu de code source
    Inscrit en
    Janvier 2008
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lecteur assidu de code source
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 174
    Par défaut
    J'avou aussi ne pas trouver le problème j'ai copier coller ton code en changeant juste le remplissage de ton tableau à 2 dimensions et la fonction main comme suit :
    Remplissage tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    char[][] tab = new char[10][10];
    int i ,j;
    for (i=0; i<10; i++) {
        for (j=0; j<10; j++) {
    	tab[i][j] = 'a';
        }
    }
    fonction main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Fenetre f1 = new Fenetre();
    f1.initialize();
    f1.setVisible(true);
    Et la table s'affiche avec que des "a" dedans ce qui est le but selon mon code

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

Discussions similaires

  1. Jtable avec model personnalisé
    Par Raphael1980 dans le forum Composants
    Réponses: 2
    Dernier message: 03/03/2009, 21h02
  2. Jtable avec model + Dao + resultSet
    Par Raphael1980 dans le forum Composants
    Réponses: 7
    Dernier message: 01/03/2009, 10h26
  3. [JTable et Model] Pas d'affichage de données
    Par tchoukapi dans le forum Composants
    Réponses: 10
    Dernier message: 08/06/2007, 14h55
  4. JTable et model spécial
    Par Aerofly dans le forum Composants
    Réponses: 13
    Dernier message: 11/01/2007, 13h42
  5. [JTable] Plusieurs JTable > plusieurs Model ?
    Par Zanton dans le forum Composants
    Réponses: 7
    Dernier message: 24/05/2006, 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