Tu dois redéfinir un Renderer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| import java.awt.Component;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListCellRenderer;
public class MyRenderer extends MyPanel implements ListCellRenderer
{
public MyRenderer()
{
setOpaque(true);
}
public Component getListCellRendererComponent(
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus)
{
if (isSelected)
{
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
}
else
{
setBackground(list.getBackground());
setForeground(list.getForeground());
}
label1.setText(((monObjet)value)).getLabel);
jtf1.setText(((monObjet)value)).getJtf1);
jtf2.setText(((monObjet)value)).getJtf2);
return this;
}
} |
Et l'appliquer à la JComboBox
combo.setRenderer(new MyRenderer())
Si tu veux que ces JTextField soient éditables tu dois aussi redefinir l'Editor.
Mais je ne vois pas trop l'intéret d'utiliser une combobox pour un seul item ...
Partager