webForumDet fria alternativet

Olika bakgrundsfärg för alternativ i JComboBox?

Java

1 svar · 369 visningar · startad av silo

Medlem sedan nov. 200177 inlägg
Frågan#1

Hämtar värden till en JComboBox ifrån en databas men vill att vissa värden ska ha t.ex. grå bakgrundsfärg (de som inte är valbara) som kategorierna på blocket ungefär

Fordon (Grå bakgrund)
Bilar
Mopeder
Hemelektronik (Grå bakgrund)
TV
DVD

Nån som vet om det går att göra?

Medlem sedan dec. 200461 inlägg
#2

Du behöver speca en klass som renderar din combo. Observera att nedanstående kod inte visar lösningen utan bara tankegången.


JComboBox c = new JComboBox();
ListCellRenderer renderer = new ExampleComboRenderer();
c.setRenderer( renderer );

import javax.swing.DefaultListCellRenderer;
 import javax.swing.*;
 import javax.swing.JLabel;
 import java.awt.Component;
 import java.awt.Color;
 public class ExampleComboRenderer extends DefaultListCellRenderer implements ListCellRenderer {
   
   
     public Component getListCellRendererComponent(
         JList list,
         Object value,
         int index,
         boolean isSelected,
         boolean cellHasFocus)
     {
     
     Component cell = super.getListCellRendererComponent(list,value,index,isSelected,cellHasFocus);
        
        
        if( value instanceof Combo )
		
        {
         
         Combo c = (Combo) value; 
         cell.setBackground(isSelected ? Color.red : Color.white);

       }
         
         return cell;
    
     }

 
 
 }
255 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)