Jcombobox dans un tableau ?

sirahmed Messages postés 23 Date d'inscription vendredi 15 décembre 2000 Statut Membre Dernière intervention 23 mars 2009 - 10 févr. 2009 à 11:41
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 10 févr. 2009 à 13:22
Salut à tous ,
Je voudrais insérer un jcombobox dans un colonne chaine d'un jtable . J'ai fait ceci mais ça n'a pas marché ,Pouvez vous me dire que dois je faire ?

jTable1 = new javax.swing.JTable();


jTable1.setModel(new javax.swing.table.DefaultTableModel(
    new Object [][] {
        {null, null, null, null, null, null, null, null, null}
    },
    new String [] {
        "chaine", "interface i", "int O", "@ IP source", "@ IP destination", "protocole", "port source", "port destination", "action"
    }
) {
    Class[] types = new Class [] {
        java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Object.class, java.lang.String.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Object.class
    };


    public Class getColumnClass(int columnIndex) {
        return types [columnIndex];
    }
});


jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS);


jTable1.setAutoscrolls(false);


jTable1.setColumnSelectionAllowed(true);


jTable1.setName("Tableau"); // NOI18N


jTable1.setOpaque(false);


 


jScrollPane1.setViewportView(jTable1);


jTable1.getColumnModel().getColumn(0).setHeaderValue("chaine");
jTable1.getColumnModel().getColumn(1).setHeaderValue("interface i");
jTable1.getColumnModel().getColumn(2).setHeaderValue("int O");
jTable1.getColumnModel().getColumn(3).setHeaderValue("@ IP source");
jTable1.getColumnModel().getColumn(4).setHeaderValue("@ IP destination");
jTable1.getColumnModel().getColumn(5).setHeaderValue("protocole");
jTable1.getColumnModel().getColumn(6).setHeaderValue("port source");
jTable1.getColumnModel().getColumn(7).setHeaderValue("port destination");
jTable1.getColumnModel().getColumn(8).setHeaderValue("action");




//setUpchaineColumn(jTable1, jTable1.getColumnModel().getColumn(0));


//public void setUpchaineColumn(JTable jTable1, jTable1Column chaineColumn)
  //                                   {    //Set up the editor for the sport cells.
    //    JComboBox comboBox = new JComboBox();
      //  comboBox.addItem("INPUT");
        ///comboBox.addItem("OUTPUT");
        //comboBox.addItem("FORWARD");
          //                           }

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
10 févr. 2009 à 12:19
Salut,

Il faut que tu fasse un TableCellRenderer et TableCellEditor pour cela : voir mes sources à ce sujet.
______________________________________
DarK Sidious
0
sirahmed Messages postés 23 Date d'inscription vendredi 15 décembre 2000 Statut Membre Dernière intervention 23 mars 2009
10 févr. 2009 à 12:33
Ok , J'ai essayé de faire ceci mais toujours pas de résultat

TableColumn chaineColumn = table.getColumnModel().getColumn(0);
JComboBox comboBox = new JComboBox();
comboBox.addItem("INPUT");
comboBox.addItem("OUTPUT");
comboBox.addItem("FORWARD");
chaineColumn.setCellEditor(new DefaultCellEditor(comboBox));
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
10 févr. 2009 à 13:22
Salut,

Ben si tu étais allé voir ma source comme je le conseille, ca marcherais peut-être mieux...

CellEditor ET CellRenderer !
______________________________________
DarK Sidious
0