Salut!
Voici un exemple de JTable
Je te laisse résoudre le problème de la double insertion de donnéesd du au fait que 2 events sont générés lors du clic souris
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
import java.awt.event.MouseEvent;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.event.ListDataListener;
import javax.swing.table.DefaultTableModel;
/**
* Created on 10-févr.-07
*
* @author: Philippe FERY (philippe.fery@gmail.com)
*/
public class DemoTable extends JFrame {
private Container c;
private String[] titreColonnes = { "titre", "année", "genre" };
private JTextField lbnTitre;
private JTable jTable2;
private String année = "2007";
private JComboBox jComboBox1;
public DemoTable() {
super("Demo JTable");
initializeComponent();
}
private void initializeComponent() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
c = getContentPane();
c.setLayout(new BorderLayout());
JPanel inputPanel = new JPanel();
inputPanel.setPreferredSize(new Dimension(640, 120));
inputPanel.add(new JLabel("Entrez une valeur"));
lbnTitre = new JTextField("Démo JTable");
inputPanel.add(lbnTitre);
String[] comboData = { "donnée 1", "donnée 2", "donnée 3" };
DefaultComboBoxModel dcbm = new DefaultComboBoxModel(comboData);
jComboBox1 = new JComboBox(dcbm);
jComboBox1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
updateTable();
}
});
inputPanel.add(lbnTitre);
inputPanel.add(jComboBox1);
c.add(inputPanel, BorderLayout.NORTH);
JPanel dataPanel = new JPanel();
dataPanel.setPreferredSize(new Dimension(640, 300));
jTable2 = new JTable();
jTable2.setPreferredSize(new Dimension(640, 300));
dataPanel.add(jTable2);
c.add(dataPanel, BorderLayout.CENTER);
}
private void updateTable() {
Object[][] données = { { lbnTitre.getText(), année, jComboBox1.getSelectedItem() },
{ lbnTitre.getText(), année, jComboBox1.getSelectedItem() } };
DefaultTableModel dtm = new DefaultTableModel(données, titreColonnes);
jTable2.setModel(dtm);
}
/**
* @param args
*/
public static void main(String[] args) {
DemoTable demo = new DemoTable();
demo.pack();
demo.setVisible(true);
}
};
;-)
HackTrack