JCombobox dans un JTable : getSelectedIndex, getSelectedItem...

Signaler
Messages postés
1
Date d'inscription
lundi 23 août 2004
Statut
Membre
Dernière intervention
23 août 2004
-
bea4031
Messages postés
11
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
21 juillet 2005
-
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));
}
}
A voir également:

2 réponses

Messages postés
649
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
9 septembre 2004
7
en regardant un peu le code j'ai eux des sueurs froides....

m'enfin je dirais que des exemples de ce type, il y en a plein dans les post precedant.
Messages postés
11
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
21 juillet 2005

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!