Jtable

johnjjj Messages postés 120 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 24 septembre 2012 - 8 juin 2010 à 01:48
JKane Messages postés 13 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 17 mai 2011 - 8 juin 2010 à 13:43
Bonjour
je souhaite créer une jtable 3 colonne
Les deux première colonne contient des zone de texte et la troisième contient combobox
Et Les ligne variable si je tape 10 il affiche10 ligne
j'ai essaye this.tableau1 = new JTable(10, 3); sa marche pas parce que je veux la troisième colonne contient combobox




Merci en avance


package pM;
import java.awt.BorderLayout;
import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;


public class Fenetre extends JFrame {


private JTable tableau;
private JButton change = new JButton("Changer la taille");
//Contenu de notre combo
private String[] comboData = {"1", "2", "3"};

public Fenetre(){
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("JTable");
this.setSize(600, 180);
//Données de notre tableau


Object[][] data = { {"c", "c", comboData[0]},
{"c", "c", comboData[0]},
{"c", "c", comboData[0]},
{"c", "c", comboData[0]}
};
//titre du tableau
String title[] = {"Pseudo", "Age", "Taille"};
//Combo à utiliser
JComboBox combo = new JComboBox(comboData);
//this.tableau1 = new JTable(10, 3);
this.tableau = new JTable(data, title);
this.tableau.setRowHeight(30);


this.tableau.getColumn("Taille").setCellEditor(new DefaultCellEditor(combo));
this.getContentPane().add(new JScrollPane(tableau), BorderLayout.CENTER);
}
public static void main(String[] args){
Fenetre fen = new Fenetre();
fen.setVisible(true);
}
}

1 réponse

JKane Messages postés 13 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 17 mai 2011
8 juin 2010 à 13:43
On ne le dira jamais assez, une recherche sur google sur JTable et AbstractTableModel et tu verras que JTable deviendras aisée à utiliser! et si je me trompe pas, pour le JComboBox il te faudra hériter de DefaultTableCellRenderer! N'oublie pas que swing est basé sur MVC ! N'oublie pas qu'il y a toujours le Modèle, la Vue et le Contrôleur!
0
Rejoignez-nous