webForumDet fria alternativet

Olika bakgrundsfärg för alternativ i JComboBox?

Java

1 svar · 367 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;
    
     }

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