Changer le nom de la colonne d'un JTable

[Résolu]
Signaler
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
-
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
-
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" :
A voir également:

3 réponses

Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
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
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut :

Comment rendre les titres des colonnes opérationnels comme des boutons.
pour faire des tries, des classifications, ...
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
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