Jcombobox dans un tableau ?

Signaler
Messages postés
23
Date d'inscription
vendredi 15 décembre 2000
Statut
Membre
Dernière intervention
23 mars 2009
-
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
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

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
130
Salut,

Il faut que tu fasse un TableCellRenderer et TableCellEditor pour cela : voir mes sources à ce sujet.
______________________________________
DarK Sidious
Messages postés
23
Date d'inscription
vendredi 15 décembre 2000
Statut
Membre
Dernière intervention
23 mars 2009

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));
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
130
Salut,

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

CellEditor ET CellRenderer !
______________________________________
DarK Sidious