Changer le nom de la colonne d'un JTable

Résolu
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 30 août 2006 à 22:53
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 31 août 2006 à 12:12
Salut :

Voici un code pour créer un JTable avec des colonnes ayant des noms, mais ce dernier n'affiche rien :

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;




public class Test extends JFrame {
    public Test () {
        super ("JTable");
        setBounds (50, 50, 350, 350);
        setDefaultCloseOperation (EXIT_ON_CLOSE);
        getContentPane ().setLayout (null);





        DefaultTableModel model = new DefaultTableModel();
        model.addColumn("Ficher");
        model.addColumn("Taille");

        table = new JTable(model);





        table.setEnabled(false);
        table.setBounds(40, 70, 250, 80);





        getContentPane ().add (table);
        setVisible (true);
 }





 public static void main (String [] args) {
  new Test ();
 }
 
 private JTable table;
}


Est ce que vous pouvez me dire où est la faute dans cet bout de code qui doit afficher un JTable avec deux colonnes portant respectivement les nom "Fichier" et "Taille" :

3 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
31 août 2006 à 11:03
Salut,

voici un exemple de comment tu pourrais faire (il existe pleins d'autre façon de faire) si cela te va libre à toi de modifier ou ajouter de nouvelles fonctions :

import java.awt.Font;
import java.util.Vector;

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

public class Test extends JFrame {
    private static final long    serialVersionUID    = 8588760642464113598L;
    private MTable    table    = null;

    public Test() {
        super("JTable");
        setBounds(50, 50, 350, 350);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        table = new MTable(new String[]{"Fichier", "Taille"});
        table.addRows(new String[]{"Toto", "12Ko"});
        Vector<Object> rows = new Vector<Object>();
        rows.add("Tata");
        rows.add("200Ko");
        table.addRows(rows);
        getContentPane().add(table);
        setVisible(true);
    }

    public static void main(String[] args) {
        new Test();
    }
   
   
    private static class MTable extends JScrollPane{
        private static final long    serialVersionUID    = 2017342696911205953L;
        private DefaultTableModel model = null;
        private JTable table = null;
       
        public MTable(String [] columnsName){
            init(columnsName);
        }
       
        private JTable getTable(){
            if(table == null){
                table = new JTable();
            }
            return table;
        }
       
        private JTable getTable(DefaultTableModel model){
            if(table == null){
                table = new JTable(model);
            }
            return table;
        }
       
        private void init(String [] columnsName){
            if(columnsName != null){   
                model = new DefaultTableModel();
                for(int i = 0; i < columnsName.length; i++)
                    model.addColumn(columnsName[i].toUpperCase());
                getTable(model);
            }else
                model = (DefaultTableModel)getTable().getModel();
            //pour marquer la difference
            getTable().getTableHeader().setFont(
                    new Font(getTable().getFont().getFamily(),
                            Font.BOLD, getTable().getFont().getSize()));
            getViewport().add(getTable());
        }
       
        public void addRows(Vector<Object> rows){
            model.addRow(rows);
        }
       
        public void addRows(Object[] rows){
            model.addRow(rows);
        }
       
    }
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
3
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
31 août 2006 à 11:40
Salut :

Comment rendre les titres des colonnes opérationnels comme des boutons.
pour faire des tries, des classifications, ...
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
31 août 2006 à 12:12
Salut,


regarde ICI je donne un liens pour ce que tu veux faire voir meme plus (regarde tous les liens ils peuvent peut etre t'interesser)

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
Rejoignez-nous