Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1265 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  probleme avec ListCellRenderer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme avec ListCellRenderer

n°340294
veryfree
Posté le 22-03-2003 à 01:45:31  profilanswer
 

en fait j aimerai un combobox coloré
pour que ce soit plus clair voila un simplification de mon code
 

Code :
  1. public static void main(String args[])
  2.   {
  3.    JFrame frame = new JFrame("colors" );
  4.    Color[] colors={Color.blue,Color.green};
  5.    JComboBox combo=new JComboBox (colors);
  6.    combo.setRenderer(new MyCellRenderer());
  7.    frame.setDefaultCloseOperation(3);
  8.    frame.getContentPane().add(combo,"Center" );
  9.    frame.setSize(300,100);
  10.    frame.setVisible(true);
  11.   }
  12. class MyCellRenderer extends JLabel implements ListCellRenderer {
  13.      public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus)
  14.      {
  15.         if (value instanceof Color)
  16.         {
  17.      Color c = (Color) value;
  18.      setBackground(c);
  19.  }     
  20.          return this;
  21.      }
  22. }


 
 
le combo reste gris vous voyez ou ca cloche vous?


Message édité par veryfree le 27-01-2005 à 13:50:27
mood
Publicité
Posté le 22-03-2003 à 01:45:31  profilanswer
 

n°340309
gfive
Posté le 22-03-2003 à 08:51:38  profilanswer
 

:) 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 :
  1. class MyCellRenderer extends JPanel implements ListCellRenderer {
  2.     public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus) {
  3.        if (value instanceof Color) {
  4.            Color c = (Color) value;
  5.            setBackground(c);
  6.         }     
  7.         return this;
  8.     }
  9. }

 
 
Encore mieux :  
 
 

Code :
  1. class MyCellRenderer extends JPanel implements ListCellRenderer {
  2.        
  3.         private JPanel p;
  4.         public MyCellRenderer() {
  5.             super();
  6.             p = new JPanel();
  7.             setLayout(new FlowLayout());
  8.             add(p);
  9.         }
  10.         public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
  11.             if (value instanceof Color) {
  12.                 p.setBackground((Color) value);
  13.             }     
  14.             return this;
  15.         }
  16.     }

 
 
Ca te fait des petits carrés de couleur au milieu d'une case grise..C'est plus foli (enfin, je trouve)
Vala! :)

n°340403
veryfree
Posté le 22-03-2003 à 14:09:33  profilanswer
 

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 :
  1. class MyCellRenderer extends JPanel implements ListCellRenderer {
  2.     public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus) {
  3.        if (value instanceof Color) {
  4.            Color c = (Color) value;
  5.            setBackground(c);
  6.         }     
  7.         return this;
  8.     }
  9. }

 
 
Encore mieux :  
 
 

Code :
  1. class MyCellRenderer extends JPanel implements ListCellRenderer {
  2.        
  3.         private JPanel p;
  4.         public MyCellRenderer() {
  5.             super();
  6.             p = new JPanel();
  7.             setLayout(new FlowLayout());
  8.             add(p);
  9.         }
  10.         public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
  11.             if (value instanceof Color) {
  12.                 p.setBackground((Color) value);
  13.             }     
  14.             return this;
  15.         }
  16.     }

 
 
Ca te fait des petits carrés de couleur au milieu d'une case grise..C'est plus foli (enfin, je trouve)
Vala! :)


 
 
  [:franck1135]  merci infiniment  [:franck1135]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  probleme avec ListCellRenderer

 

Sujets relatifs
Grave probleme de disque dur et MYSQL.[Delphi perso edition] Probleme avec la manip de fichiers.
J'ai un problème de logique avec les sessions[KSH] problème de substitution de variable
[DB2/C] probleme de REXXMySQL et ODBC..... Gros problème !
probleme image de mon siteProbleme avec include ( )
[Oracle Forms] Probleme PLSQL[PHP] probleme avec if else + cookies
Plus de sujets relatifs à : probleme avec ListCellRenderer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR