Remplir une JTable avec un vecteur

narsiste Messages postés 2 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 7 mars 2009 - 5 mars 2009 à 16:30
narsiste Messages postés 2 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 7 mars 2009 - 7 mars 2009 à 19:40
Salut. Je suis a mes debt dans JAVA. Jaimerais replir une JTable avec un vecteur mais j'y arrive pas. Quelqu'un m'aider.

Merci d'avance

3 réponses

amundain Messages postés 110 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 28 août 2012 1
6 mars 2009 à 09:36
Salut,

Voici un exemple de tuto fourni par Java.
Une ligne de JTable correspond à un vecteur ; chaque cellule est un élément de ce vecteur.
L'ensemble des lignes doit être stocké dans un vecteur global qui est passé en paramètre au constructeur de la JTable.
Même chose pour les noms colonnes, un nom de colonne est égal à un élément d'un vecteur de noms de colonnes passé en paramètre au constructeur.

Tu feras le test par toi même en modifiat le code : si tu enlèves la JScrollPane associée à la JTable, les noms de colonne disparaissent.

A +,

amundain

import java.awt.BorderLayout;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

public class JTableCreatingByVector {
  public static void main(String args[]) {
    JFrame frame =   new  JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Vector<String> rowOne  = new Vector<String>();
    rowOne.addElement("Row1-Column1");
    rowOne.addElement("Row1-Column2");
    rowOne.addElement("Row1-Column3");
    
    Vector<String> rowTwo =   new  Vector<String>();
    rowTwo.addElement("Row2-Column1");
    rowTwo.addElement("Row2-Column2");
    rowTwo.addElement("Row2-Column3");
    
    Vector<Vector> rowData  = new Vector<Vector>();
    rowData.addElement(rowOne);
    rowData.addElement(rowTwo);
    
    Vector<String> columnNames =   new  Vector<String>();
    columnNames.addElement("Column One");
    columnNames.addElement("Column Two");
    columnNames.addElement("Column Three");
    JTable table  = new JTable(rowData, columnNames);

    JScrollPane scrollPane =   new  JScrollPane(table);
    frame.add(scrollPane, BorderLayout.CENTER);
    frame.setSize(300, 150);
    frame.setVisible(true);

  }
}


<hr width ="100%" size="2" />Java bien,merci.
0
amundain Messages postés 110 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 28 août 2012 1
6 mars 2009 à 09:37
Houlà, problème de recopie !

import java.awt.BorderLayout;
import java.util.Vector;


import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;


public class JTableCreatingByVector {

  public static void main(String args[]) {

    JFrame frame = new JFrame();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    Vector<String> rowOne = new Vector<String>();

    rowOne.addElement("Row1-Column1");

    rowOne.addElement("Row1-Column2");

    rowOne.addElement("Row1-Column3");

    

    Vector<String> rowTwo = new Vector<String>();

    rowTwo.addElement("Row2-Column1");

    rowTwo.addElement("Row2-Column2");

    rowTwo.addElement("Row2-Column3");

    

    Vector<Vector> rowData = new Vector<Vector>();

    rowData.addElement(rowOne);

    rowData.addElement(rowTwo);

    

    Vector<String> columnNames = new Vector<String>();

    columnNames.addElement("Column One");

    columnNames.addElement("Column Two");

    columnNames.addElement("Column Three");

    JTable table = new JTable(rowData, columnNames);


    JScrollPane scrollPane = new JScrollPane(table);

    frame.add(scrollPane, BorderLayout.CENTER);

    frame.setSize(300, 150);

    frame.setVisible(true);


  }

}


<hr width="100%" size="2" />Java bien,merci.
0
narsiste Messages postés 2 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 7 mars 2009
7 mars 2009 à 19:40
Slt Amundain. Merci pour ta reponse. Je vais l'utiliser et te donner la suite plu tard.

Regards.....
0
Rejoignez-nous