Comment Ajouter et supprimer une ligne dans une JTable

Signaler
Messages postés
113
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014
-
Messages postés
113
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014
-
Salut à tous
je suis débutant et je travaille en ce moment sur mon premier logiciel en java et je croise un certain nombre de probleme que je m'efforce à résoudre tant mieux que mal. Mais pour d'autre j'ai besoin de votre aide.
Je voudrais savoir comment ajouter et supprimer le contenu de mes JTextField à une JTable.
Un exemple de code me sera d'une très grande utilité puis que depuis 3 jour je flash la dessus.
Merci pour votre aide.

2 réponses

Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
10
Essaie avec un modèle de tableau par défaut (DefaultTableModel).

Un DefaultTableModel peut être considéré comme un tableau à 2 dimensions.
Toutefois, il a des méthodes pour ajouter ou supprimer de nouvelles lignes / colonnes, par exemple "addRow".

Voici un petit exemple de code:

import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.*;

public class JTableDemo {

    private final DefaultTableModel model;
    private final JTable table;

    public JTableDemo() {
        // column names
        String[] titles = new String[]{"Title 0", "Title 1", "Title 2", "Title 3"};
        // The model we use. Here we set the titles,
        // but later on it is still possible to add more columns and/or rows:
        model = new DefaultTableModel(titles, 0);
        // initialize the JTable:
        table = new JTable(model);
        // buttons to control the table:
        final JButton buttonAddRow = new JButton("add row");
        final JButton buttonRemRow = new JButton("remove row");
        final JButton buttonAddCol = new JButton("add column");
        buttonRemRow.setEnabled(false);
        // give actions to the buttons:
        buttonAddRow.addActionListener(new ActionListener() {

            public void actionPerformed(final ActionEvent e) {
                // the number of columns
                int size = model.getColumnCount();
                // create a new vector for row data
                Vector rowData = createDataVector("row", size);
                // add a new row
                model.addRow(rowData);
                // enable remove row
                buttonRemRow.setEnabled(true);
            }
        });
        buttonAddCol.addActionListener(new ActionListener() {

            public void actionPerformed(final ActionEvent e) {
                int size = model.getRowCount();
                Vector columnData = createDataVector("column", size);
                String name = "Title " + model.getColumnCount();
                model.addColumn(name, columnData);
            }
        });
        buttonRemRow.addActionListener(new ActionListener() {

            public void actionPerformed(final ActionEvent e) {
                int size = model.getRowCount();
                int index = (int) (Math.random() * size);
                model.removeRow(index);
                buttonRemRow.setEnabled(size > 1);
            }
        });
        JFrame frame = new JFrame("JTableDemo");
        Container content = frame.getContentPane();
        content.add(new JScrollPane(table), BorderLayout.CENTER);
        content.add(buttonAddRow, BorderLayout.NORTH);
        content.add(buttonRemRow, BorderLayout.SOUTH);
        content.add(buttonAddCol, BorderLayout.WEST);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(final String[] args) {
        Runnable gui = new Runnable() {

            public void run() {
                JTableDemo jTableDemo = new JTableDemo();
            }
        };
        SwingUtilities.invokeLater(gui);
    }

    private Vector createDataVector(final String prefix, final int size) {
        Vector vector = new Vector(size);
        for (int i = 0; i < size; i++) {
            int rows = model.getRowCount();
            int columns = model.getColumnCount();
            vector.add(prefix + " : "
                    + (prefix.equals("row") ? rows : columns)
                    + " : " + i);
        }
        return vector;
    }
}
Messages postés
113
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
26 mai 2014

Bonjour UHRAND
Merci pour ce code. je l'essaie et je te tiens informer
merci et bonne journée