Bonjour,
j'ai une Jtable avec diverses colonnes.
j'aimerais intégrer un JComBox au header d'une de mes colonnes. Mais ca ne veut pas, puisque la JComboBox n'est pas un renderer mais un editor.
Alors, j'arrive à "gruger" utilisant ceci :
Puis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class MonHeaderRenderer extends JComboBox implements TableCellRenderer { public MonHeaderRenderer() { } public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column) { return this; } }
Mais, si ca m'affiche bien l'image d'un JCombobox, le fait de cliquer dessus ne donne rien du tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 TableColumn colonne1 = this.getColumnModel().getColumn(2); colonne1.setHeaderRenderer(new MonHeaderRenderer()); JComboBox headerJcb=(JComboBox) colonne1.getHeaderRenderer(); headerJcb.addItem("val1"); headerJcb.addItem("val2"); headerJcb.addItem("val3");
Donc si vous aviez une idée pour utiliser une JComboBox dans le header de mon JTable ce serait top !
Partager