JCombobox dans un JTable : getSelectedIndex, getSelectedItem...
largo_winzclav
Messages postés1Date d'inscriptionlundi 23 août 2004StatutMembreDernière intervention23 août 2004
-
23 août 2004 à 21:18
bea4031
Messages postés11Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention21 juillet 2005
-
10 juil. 2005 à 23:09
Bonjour et merci d'avance à tous ceux qui prendront le temps de m'aider,
Dans une de mes applets, je fais apparaitre des cellules d'un JTable sous forme de combobox (le code utilisé se trouve ci-dessous). Cela fonctionne assez bien mais je ne parviens pas à utiliser les méthodes getSelectedIndex et getSelectedItem pour les cellules présentées sous forme de combo !
Si quelqu'un pouvait m'aider, se serait vraiment très sympa...
PS : Comme je suis vraiment novice en Java, n'hésitez pas à détailler vos explications ;-). Encore merci d'avance...
JTable table = new JTable();
DefaultTableModel model = (DefaultTableModel)table.getModel();
// Add some columns
model.addColumn("A", new Object[]{"item1"});
model.addColumn("B", new Object[]{"item2"});
// These are the combobox values
String[] values = new String[]{"item1", "item2", "item3"};
// Set the combobox editor on the 1st visible column
int vColIndex = 0;
TableColumn col = table.getColumnModel().getColumn(vColIndex);
col.setCellEditor(new MyComboBoxEditor(values));
// If the cell should appear like a combobox in its
// non-editing state, also set the combobox renderer
col.setCellRenderer(new MyComboBoxRenderer(values));
public class MyComboBoxRenderer extends JComboBox implements TableCellRenderer {
public MyComboBoxRenderer(String[] items) {
super(items);
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (isSelected) {
setForeground(table.getSelectionForeground());
super.setBackground(table.getSelectionBackground());
} else {
setForeground(table.getForeground());
setBackground(table.getBackground());
}
// Select the current value
setSelectedItem(value);
return this;
}
}
public class MyComboBoxEditor extends DefaultCellEditor {
public MyComboBoxEditor(String[] items) {
super(new JComboBox(items));
}
}
bea4031
Messages postés11Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention21 juillet 2005 10 juil. 2005 à 23:09
Salut j'ai le meme souci avec le combobox et jtable je voulais juste savoir si tu avais trouvé une solution et laquelle car j'ai bien regardé d'autres messages mais je n'ai pas encore vu la solution!
Je te remercie d'avance!