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

  FORUM HardWare.fr
  Programmation
  Java

  JList et focus

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JList et focus

n°1912762
Shimble
Posté le 07-08-2009 à 12:06:03  profilanswer
 

Bonjour,
 
Je voudrais savoir comment faire pour qu'un élément d'une jlist sélectionné par défaut ait la couleur de son background qui change comme lors d'un click de souris.
 
En effet, en faisant un list.setSelectedIndex(index) , la ligne à l'index spécifié est bien sélectionnée par défaut MAIS ce n'est pas apparent pour l'utilisateur car il n'y a aucun changement de couleur comme lorsque c'est lui qui clique sur une des lignes de la jlist.
 
Je suppose qu'il doit y avoir un truc tout simple à ajouter, mais je ne vois pas quoi ...  :heink:

mood
Publicité
Posté le 07-08-2009 à 12:06:03  profilanswer
 

n°1912818
L'Ampli
J'débute mais ça va saigner...
Posté le 07-08-2009 à 13:27:32  profilanswer
 

si l'index de élément est tjrs le même quand tu es "par défaut" tu peux peut-être faire un test simple genre :
 
if(List.get(index).isSelected()){List.get(index).setBackgroundColor(color);}
else{List.get(index).setBackgroundColor(colorInit);}
 
ou plus simple, tu fixe la couleur à l'initialisation de la List et tu la remet à l'état normal quand un autre est sélectionné en utilisant un Listener.
 
Je ne peux pas tester quoique ce soit mnt mais ça doit être possible, non ? (je suis pas sûr du setBackground)


Message édité par L'Ampli le 07-08-2009 à 13:55:33
n°1912875
Shimble
Posté le 07-08-2009 à 14:22:30  profilanswer
 

Salut L'ampli,
 
Tout d'abord merci de m'avoir répondu.
 
Finalement la couleur de la cellule change bien en ne mettant que le list.setSelected(index), il semble que le problème venait d'ailleurs...
 
A force d'avoir le nez sur son code on n'y voit plus rien !
 
J'aurais une autre petite question si tu as un peu de temps et la patience d'y répondre :
 
est-ce possible de rendre certains des éléments de la liste non sélectionnables (mais toujours apparents donc et grisés par exemple) ?
 
Pour l'instant je m'en tiens à gérer le listModel en enlevant carrément ces éléments, mais ça m'intéresserait de pouvoir le faire comme ça (moins déroutant pour l'utilisateur de ne pas avoir la taille de la liste et donc l'emplacement des éléments dans le panel qui change tout le temps je pense).
 
 
 
 
 
 
 
Merci pour ta réponse,
 
j'avais déjà essayé le setEnabled, mais ça agit sur la jList entière et non pas sur une des lignes en fait.
Tant pis, je reste sur ma précédente solution  :jap:


Message édité par Shimble le 14-08-2009 à 11:55:15
n°1912931
L'Ampli
J'débute mais ça va saigner...
Posté le 07-08-2009 à 15:59:33  profilanswer
 

je ne sais pas comment ça marche dans une jList mais pour la plupart des composant graphiques (jButton, jTexyField...), il y a setEnabled(boolean) dans la même veine que le setVisible(boolean) qui les fait disparaitre.


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

  JList et focus

 

Sujets relatifs
Rendre élément d'une JList non sélectionnable ?aide faire un lien entre Jlist et des TextField
[résolu] Div en overflow:auto, garder le focus en bas ?Récuperation d'un objet dans un JList
Affichage d'un JList dans un JTextArea[JTable] Maintenir focus sur une ligne
Au focus, supprimer le contenu[Xlib] Problème de focus de fenêtre
Faire une jlist de Vecteur[IE]Champ de formulaire qui refuse de garder le focus
Plus de sujets relatifs à : JList et focus


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)