2010-03-04 2 views
4

Comment rendre certains de mes articles JComboBox non sélectionnables? J'ai essayé ceci:Comment rendre certains éléments d'une JComboBox non sélectionnables?

@Override 
public Component getListCellRendererComponent(JList list, Object value, 
    int index. boolean isSelected, boolean cellHasFocus) { 

    Component comp = super.getListCellRendererComponent(list, value, index, 
     isSelected, cellHasFocus); 

    if (not selectable conditions) { 
     comp.setEnabled(false); 
     comp.setFocusable(false); 
    } else { 
     comp.setEnabled(true); 
     comp.setFocusable(true); 
    } 

    return comp; 
} 

Les éléments deviennent gris, mais sont toujours sélectionnables par l'utilisateur.

Répondre

5

Essayez de remplacer l'élément sélectionné par le dernier élément sélectionné lorsqu'un élément 'non sélectionnable' est sélectionné. Cela signifie que vous devez stocker le «dernier élément sélectionné» dans un champ.

+3

Cela pourrait avoir un mauvais effet si quelqu'un essayait d'utiliser le clavier pour descendre une liste d'éléments. Descendre à l'inéluctable rebondirait perpétuellement sur le précédent. – DJClayworth

1

La façon dont je serais tenté de faire cela serait de montrer uniquement aux utilisateurs les éléments valides, tout ce qui est invalide rendre invisible. J'espère que ça aide.

+0

C'est ainsi que je le fais en ce moment ... – woezelmann

Questions connexes