fleur1234 | 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 :
- package boutons;
- import javax.swing.JPanel;
- import java.awt.Color;
- import javax.swing.UIManager;
- import java.io.FileInputStream;
- import java.io.*;
- import java.util.StringTokenizer;
- import java.util.Vector;
- import javax.swing.JTable;
- public class Panel_haut extends Panel_haut_et_bas {
-
- Tableau table;
- 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);
-
- String nomFichier="fichier.txt";
- table=new Tableau(nomFichier);
- this.add(table);
- }
|
Puis celui du tableau Code :
- package boutons;
- import javax.swing.*;
- import java.awt.event.*;
- import java.awt.*;
- import java.io.*;
- import java.util.*;
- public class Tableau extends JPanel {
- Modèle modèle;
- public Tableau(String fichier) {
- JTable tableau;
- //fonte
- Font f=new Font("SanSerif",Font.PLAIN,24);
- setFont(f);
- //gestionnaire de positionnement
- setLayout(new BorderLayout());
- //construction du modèle de remplissage à partir du fichier
- modèle = new Modèle(fichier);
- //création du tableau
- tableau = new JTable();
- tableau.setModel(modèle);
- tableau.createDefaultColumnsFromModel();
- //scroll
- JScrollPane scrollpane=new JScrollPane(tableau);
- add(scrollpane);
- }
- public Dimension getPreferredSize() {
- return new Dimension(400, 300);
- }
- }
|
et enfin celui du modèle de tableau dans lequel je vais lire les données du fichier
Code :
- package boutons;
- import javax.swing.*;
- import javax.swing.table.*;
- import java.io.*;
- import java.util.*;
- public class Modèle extends AbstractTableModel {
- public Vector donnees; //données
- public Vector nom_colonnes; //noms de colonnes
- public String fichier; //nom du fichier de données
- public Modèle(String f) {
- fichier=f;
- initVectors();
- }
- public void initVectors() {
- donnees=new Vector();
- nom_colonnes=new Vector();
- //String fichier = "fichier.txt";
- String ligne_lue ;
- try {
- BufferedReader br = new BufferedReader( new FileReader(fichier));
- ligne_lue = br.readLine();
- StringTokenizer st2 = new StringTokenizer(ligne_lue,"," );
- while (st2.hasMoreTokens())
- {System.out.println(st2.nextToken());
- nom_colonnes.addElement(st2.nextToken());
- }
- while ((ligne_lue=br.readLine()) != null){
- StringTokenizer st1 = new StringTokenizer(ligne_lue,"," );
- while (st1.hasMoreTokens()){
- System.out.println(st1.nextToken());
- donnees.addElement(st1.nextToken());
- }
- }
- br.close();
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
|
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
|