gfive a écrit :
Normal! Tu utilises un JLabel, avec pas de texte dedans, donc, sa taille "normale" c'est 0x0!
Met un JPanel à la place (donc, ça :
Code :
- class MyCellRenderer extends JPanel implements ListCellRenderer {
- public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus) {
- if (value instanceof Color) {
- Color c = (Color) value;
- setBackground(c);
- }
- return this;
- }
- }
|
Encore mieux : Code :
- class MyCellRenderer extends JPanel implements ListCellRenderer {
-
- private JPanel p;
- public MyCellRenderer() {
- super();
- p = new JPanel();
- setLayout(new FlowLayout());
- add(p);
- }
- public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
- if (value instanceof Color) {
- p.setBackground((Color) value);
- }
- return this;
- }
- }
|
Ca te fait des petits carrés de couleur au milieu d'une case grise..C'est plus foli (enfin, je trouve)
Vala!
|