pb avec un jtable qui ne s'affiche pas

pb avec un jtable qui ne s'affiche pas - Java - Programmation

Marsh Posté le 21-01-2005 à 11:57:41    

Bonjour à tous,  
Tout d'abord je vous informe que j'ai déjà posté ce message sur le forum de developpez.com mais comme personne ne me répond je vais vous posez la question également.
Je réalise un programme qui contient en Jpanel dans lequel se trouve une jtable. Les colonnes sont remplies d'après un fichier.  
Voici mon code  
 
code du Jpanel  
 

Code :
  1. package boutons;
  2. import javax.swing.JPanel;
  3. import java.awt.Color;
  4. import javax.swing.UIManager;
  5. import java.io.FileInputStream;
  6. import java.io.*;
  7. import java.util.StringTokenizer;
  8. import java.util.Vector;
  9. import javax.swing.JTable;
  10. public class Panel_haut extends Panel_haut_et_bas  {
  11.  
  12. Tableau table;
  13.   public Panel_haut(int longueur_panel_haut,int hauteur_panel_haut,int position_horizontale_panel_haut, int position_verticale_panel_haut,String nomB, int longueur_bouton, int largeur_bouton, int position_horizontale_bouton, int position_verticale_bouton, int écart_vertical,int écart_horizontal, int longueur_panel_bouton,int hauteur_panel_bouton, int position_horizontale_panel_bouton, int position_verticale_panel_bouton) throws IOException {super(longueur_panel_haut,hauteur_panel_haut,position_horizontale_panel_haut, position_verticale_panel_haut, nomB, longueur_bouton, largeur_bouton, position_horizontale_bouton, position_verticale_bouton, écart_vertical,écart_horizontal, longueur_panel_bouton,hauteur_panel_bouton, position_horizontale_panel_bouton, position_verticale_panel_bouton);
  14.    
  15.           String nomFichier="fichier.txt";
  16.           table=new Tableau(nomFichier);
  17.           this.add(table);         
  18. }


Puis celui du tableau  
 

Code :
  1. package boutons;
  2. import javax.swing.*;
  3.         import java.awt.event.*;
  4.         import java.awt.*;
  5.         import java.io.*;
  6.         import java.util.*;
  7.         public class Tableau extends JPanel {
  8.         Modèle modèle;
  9.           public Tableau(String fichier) {
  10.           JTable tableau;
  11.           //fonte  
  12.           Font f=new Font("SanSerif",Font.PLAIN,24);
  13.           setFont(f);
  14.           //gestionnaire de positionnement  
  15.           setLayout(new BorderLayout());
  16.           //construction du modèle de remplissage à partir du fichier  
  17.           modèle = new Modèle(fichier);
  18.           //création du tableau  
  19.           tableau = new JTable();
  20.           tableau.setModel(modèle);
  21.           tableau.createDefaultColumnsFromModel();
  22.           //scroll  
  23.           JScrollPane scrollpane=new JScrollPane(tableau);
  24.           add(scrollpane);
  25.          }
  26.          public Dimension getPreferredSize() {
  27.           return new Dimension(400, 300);
  28.          }
  29.         }


et enfin celui du modèle de tableau dans lequel je vais lire les données du fichier  
 

Code :
  1. package boutons;
  2. import javax.swing.*;
  3.         import javax.swing.table.*;
  4.         import java.io.*;
  5.         import java.util.*;
  6.         public class Modèle extends AbstractTableModel {
  7.           public Vector donnees; //données  
  8.           public Vector nom_colonnes; //noms de colonnes  
  9.           public String fichier; //nom du fichier de données  
  10.           public Modèle(String f) {
  11.           fichier=f;
  12.           initVectors();
  13.          }
  14.          public void initVectors() {
  15.           donnees=new Vector();
  16.           nom_colonnes=new Vector();
  17.            //String fichier = "fichier.txt";  
  18.              String ligne_lue ;
  19.                try {
  20.                  BufferedReader br = new BufferedReader( new FileReader(fichier));
  21.                  ligne_lue = br.readLine();
  22.                   StringTokenizer st2 = new StringTokenizer(ligne_lue,"," );
  23.                   while (st2.hasMoreTokens())
  24.                   {System.out.println(st2.nextToken());
  25.                   nom_colonnes.addElement(st2.nextToken());
  26.                   }
  27.                  while ((ligne_lue=br.readLine()) != null){
  28.                   StringTokenizer st1 = new StringTokenizer(ligne_lue,"," );
  29.                  while (st1.hasMoreTokens()){
  30.                    System.out.println(st1.nextToken());
  31.                    donnees.addElement(st1.nextToken());
  32.                  }
  33.                  }
  34.                  br.close();
  35.                }
  36.                catch (Exception e) {
  37.                  e.printStackTrace();
  38.                }
  39.         }


Je n'ai aucune erreur dans mon programme et mon System.out.println(st1.nextToken()); affiche bien les données de mon fichier.  
Seulement mon JTable ne s'affiche pas et j'ai sûrement oublié un truc tout bête.  
Quelqu'un saurait-il de quoi il s'agit ?  
 
Merci  

Reply

Marsh Posté le 21-01-2005 à 11:57:41   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed