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

  FORUM HardWare.fr
  Programmation
  Java

  JList contenant des JCheckBox : gniiiiaaaaaa

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JList contenant des JCheckBox : gniiiiaaaaaa

n°349324
petoulachi
A fortiori, brigadier chef
Posté le 01-04-2003 à 16:22:49  profilanswer
 

Bonjour a tous :)
 
Je réalise une appli qui en gros permet d'editer des fichiers (on va dire ça comme ça, c pas le pb).
J'aimerai, lorsque je ferme l'appli, qu'une petite fenetre m'affiche la liste de mes fichiers modifiés non sauvegardés (ça c ok, j'ai la liste) avec a chaque fois :
-une chechbox
-le nom du fichier
 
Pour ça, je me sert d'une JList, et j'ai redefini un ListCellRenderer :

Code :
  1. public class DocumentCellRenderer extends JCheckBox implements ListCellRenderer
  2. {
  3. public DocumentCellRenderer()
  4. {
  5.  super();
  6.  setBackground(Color.white);
  7.  setBorderPaintedFlat(true);
  8. }
  9.         public Component getListCellRendererComponent(  JList list,
  10.             Object value,
  11.             int index,
  12.             boolean isSelected,
  13.             boolean cellHasFocus)
  14. {
  15.             (...)
  16.         }
  17. }


L'affichage se passe sans pb (pas tres dur).
 
En fait mon reel probleme vient de la selection. Je m'explique :
dans une JList, pour faire une selection multiples, il faut garder la touche Ctrl d'appuyée.
Or dans mon cas, le reflexe, bin c de cocher par exemple le premier fichier (la check box du fichier). Ensuite, pour en selectionner un autre, bin on click sur un autre :).
 
Or dans mon cas, j'ai dans la methode getListCellRendererComponent(JList list,Object value,
 int index, boolean isSelected, boolean cellHasFocus)) ainsi:

Code :
  1. public Component getListCellRendererComponent(  JList list,
  2.             Object value,
  3.             int index,
  4.             boolean isSelected,
  5.             boolean cellHasFocus)
  6. {
  7.  //on donne le nom du fichier
  8.  this.setText( ((Document)value).toString());
  9.                 if (isSelected)
  10.                     setSelected(true);
  11.         }


 
Et donc, ce qu'il se passe ce que je ne peux en avoir qu'un de cocher a la fois (ou alors il faut que je garde la touche Ctrl activée, dans ce cas ça marche mais c pas ce que je veux).
 
J'espere que j'ai été clair, si c pas le cas hésitez pas a me demander plus de details ;)
 
D'avance merci, parce que là je trouve pas comment faire  :jap:  

mood
Publicité
Posté le 01-04-2003 à 16:22:49  profilanswer
 

n°349358
bobuse
Posté le 01-04-2003 à 16:42:21  profilanswer
 

d'apres ce que j'ai compris, un fichier se coche lorsque tu selectionnes la ligne ?
 
heuuuu, spa top ca, tu m'etonnes que c'est pas pratique !

n°349394
petoulachi
A fortiori, brigadier chef
Posté le 01-04-2003 à 17:02:01  profilanswer
 

:heink:  
 
non je crois que t'as pas compris :)
 
En fait je voudrai faire comme pas mal d'editeurs : une list de checkbox qui permet de choisir quel fichier sauvegarder avant de quitter l'appli (JBuilder, eclipse et tant d'autres le font).

n°349413
bobuse
Posté le 01-04-2003 à 17:12:22  profilanswer
 

Petoulachi a écrit :

:heink:  
 
non je crois que t'as pas compris :)
 
En fait je voudrai faire comme pas mal d'editeurs : une list de checkbox qui permet de choisir quel fichier sauvegarder avant de quitter l'appli (JBuilder, eclipse et tant d'autres le font).


ok, ca j'ai compris. mais quand tu dis :
 

Citation :

Et donc, ce qu'il se passe ce que je ne peux en avoir qu'un de cocher a la fois (ou alors il faut que je garde la touche Ctrl activée, dans ce cas ça marche mais c pas ce que je veux).

 
tu parles de quoi alors ?
 
P.S. : je suis d'accord que trop de code tue le post, mais la, moi je cerne pas trop le fonctionnement de ta Jlist ...

n°349414
nerisson
Pic-pic
Posté le 01-04-2003 à 17:12:28  profilanswer
 

Je pense que ca doit fonctionner si tu utilises une JTable a la place d'une JList.


---------------
Light is right
n°349507
BifaceMcLe​OD
The HighGlandeur
Posté le 01-04-2003 à 18:11:10  profilanswer
 

Quel est ton modèle de sélection ? (à voir dans JList.getSelectionModel()). A mon avis, ça doit répondre à ton problème.

n°349558
the real m​oins moins
Posté le 01-04-2003 à 20:57:37  profilanswer
 

à priori je vois pas l'interet d'utiliser une jlist :??:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°349792
petoulachi
A fortiori, brigadier chef
Posté le 02-04-2003 à 09:55:22  profilanswer
 

alors alors :)
 
Pour mon modele de selection, je me suis effectivement posé la question, bin je suis dans le mode par defaut, c a dire MULTIPLE_INTERVAL_SELECTION.
 
Sinon, je reexplique mon pb : pour cocher plusieurs checkBox dans ma JList, il faut que je garde la touche Ctrl appuyée (normale dans une JList pour choisir plusieurs item, on garde la touche Ctrl appuyée). Moi je voudrai qu'il y ai simplement a cliquer sur la checkbox, que celle ci se coche signifiant qu'elle a été sélectionné. Mais je trouve pas comment :(
 
Je vais regarder au niveau d'une JTable en effet :)

n°349805
bobuse
Posté le 02-04-2003 à 10:05:24  profilanswer
 

Petoulachi a écrit :

alors alors :)
 
Pour mon modele de selection, je me suis effectivement posé la question, bin je suis dans le mode par defaut, c a dire MULTIPLE_INTERVAL_SELECTION.
 
Sinon, je reexplique mon pb : pour cocher plusieurs checkBox dans ma JList, il faut que je garde la touche Ctrl appuyée (normale dans une JList pour choisir plusieurs item, on garde la touche Ctrl appuyée). Moi je voudrai qu'il y ai simplement a cliquer sur la checkbox, que celle ci se coche signifiant qu'elle a été sélectionné. Mais je trouve pas comment :(
 
Je vais regarder au niveau d'une JTable en effet :)


Et ben tu fais une JTable avec la derniere colonne affichant une JCheckBox, et ca RULEZZZ

n°349850
petoulachi
A fortiori, brigadier chef
Posté le 02-04-2003 à 10:34:55  profilanswer
 

je suis en train de regarder la JTable, les problemes immediat qui se posent sans trop avoir cherché :
-je dois avoir un nom de colonne, ce qui ne m'interesse pas
-les colonnes sont visibles (séparées par un trait) ce qui là non plus ne me convient pas trop. Toutefois il y a apparemment un TableCellEditor qui devrait me permettre de tout afficher dans une seule colonne (la checkbox + nom de fichier).
 
Mais il y a toujours le pb du header du tableau :??:

mood
Publicité
Posté le 02-04-2003 à 10:34:55  profilanswer
 

n°349883
nerisson
Pic-pic
Posté le 02-04-2003 à 11:03:22  profilanswer
 

Si tu mets le TableHeader a null ca doit fonctionner (edit: ah bah non ca ne fonctionne pas...)
Pour faire disparaitre les lignes, fait un setShowGrid(false).


Message édité par nerisson le 02-04-2003 à 11:05:55

---------------
Light is right
n°349935
petoulachi
A fortiori, brigadier chef
Posté le 02-04-2003 à 11:23:10  profilanswer
 

Nerisson a écrit :

Si tu mets le TableHeader a null ca doit fonctionner (edit: ah bah non ca ne fonctionne pas...)
Pour faire disparaitre les lignes, fait un setShowGrid(false).


ok je note merci ;)
 
Pour les headers je trouve pas, ouin  [:totoz]

n°349965
the real m​oins moins
Posté le 02-04-2003 à 11:37:16  profilanswer
 

m'enfin pourquoi tu fous pas tes checkbox dans un bete panel? :heink:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°349991
petoulachi
A fortiori, brigadier chef
Posté le 02-04-2003 à 11:48:49  profilanswer
 

the real moins moins a écrit :

m'enfin pourquoi tu fous pas tes checkbox dans un bete panel? :heink:


 
bin je voulais me servir du principe MVC parce qu'on l'a vu cette année en cours, ça aurait été bien :)

n°350077
the real m​oins moins
Posté le 02-04-2003 à 13:29:27  profilanswer
 

Petoulachi a écrit :


 
bin je voulais me servir du principe MVC parce qu'on l'a vu cette année en cours, ça aurait été bien :)

je vois pas le rapport avec la list [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°350085
bobuse
Posté le 02-04-2003 à 13:36:28  profilanswer
 

Petoulachi a écrit :


ok je note merci ;)
 
Pour les headers je trouve pas, ouin  [:totoz]  


ben les header ne s'affichent pas par defaut, non ?
 
je vais regarder ...

n°350180
petoulachi
A fortiori, brigadier chef
Posté le 02-04-2003 à 14:54:58  profilanswer
 

the real moins moins a écrit :

je vois pas le rapport avec la list [:spamafote]


 :heink:  
bin avec la List, je redefinie la class ListCellRenderer.
Si ça c pas le principe MVC  ;)

n°350182
petoulachi
A fortiori, brigadier chef
Posté le 02-04-2003 à 14:55:11  profilanswer
 

bobuse a écrit :


ben les header ne s'affichent pas par defaut, non ?
 
je vais regarder ...


Sérieu ?

n°350248
bobuse
Posté le 02-04-2003 à 15:26:41  profilanswer
 


Ben en fait je comprends pas trop, j'ai maté dans deux de mes projets, et je capte pas trop.
Dans un des deux j'utilise getTableHeader() pour afficher l'en-tete, mais il s'affiche dans les deux, je materai ce soir ...

n°350267
petoulachi
A fortiori, brigadier chef
Posté le 02-04-2003 à 15:35:50  profilanswer
 

bobuse a écrit :


Ben en fait je comprends pas trop, j'ai maté dans deux de mes projets, et je capte pas trop.
Dans un des deux j'utilise getTableHeader() pour afficher l'en-tete, mais il s'affiche dans les deux, je materai ce soir ...


ok merci :)

n°350302
the real m​oins moins
Posté le 02-04-2003 à 16:24:18  profilanswer
 

Petoulachi a écrit :


 :heink:  
bin avec la List, je redefinie la class ListCellRenderer.
Si ça c pas le principe MVC  ;)  

bah tu fais ton mvc a la main comme en grand en foutant tes 3 checkboxs sur ton panel en passant par un modele tout con (ton array de fichiers modifié?)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°350377
petoulachi
A fortiori, brigadier chef
Posté le 02-04-2003 à 17:19:25  profilanswer
 

the real moins moins a écrit :

bah tu fais ton mvc a la main comme en grand en foutant tes 3 checkboxs sur ton panel en passant par un modele tout con (ton array de fichiers modifié?)


 
Mmmh disons qu'en fait on a appris a reutiliser les MVC de java (les Renderer), donc je voudrai faire de meme :)

n°350473
bobuse
Posté le 02-04-2003 à 19:19:59  profilanswer
 

Bon ok, pour l'histoire des tableHeader !
En fait quand tu ajoute un JTable a un JScrollPane, il met automatiquement le TableHeader au dessus de la zone de défilement (cf tut. de sun).
Donc pour ne pas les afficher, première solution bien crade mais didactique, on met le JTable dans un JPanel, et on met le tout dans le JScrollPane, les TableHeader ne sont bien pas affichés (ouf !).
Et la deuxième solution (qui est celle à utiliser, je pense), est toute simple :  

Code :
  1. JTable table;
  2. // ... blabla initialisation tsoin tsoin
  3. table.setTableHeader(null);


et hop !


---------------
get amaroK plugin
n°350972
petoulachi
A fortiori, brigadier chef
Posté le 03-04-2003 à 09:59:53  profilanswer
 

bobuse a écrit :

Bon ok, pour l'histoire des tableHeader !
En fait quand tu ajoute un JTable a un JScrollPane, il met automatiquement le TableHeader au dessus de la zone de défilement (cf tut. de sun).
Donc pour ne pas les afficher, première solution bien crade mais didactique, on met le JTable dans un JPanel, et on met le tout dans le JScrollPane, les TableHeader ne sont bien pas affichés (ouf !).
Et la deuxième solution (qui est celle à utiliser, je pense), est toute simple :  

Code :
  1. JTable table;
  2. // ... blabla initialisation tsoin tsoin
  3. table.setTableHeader(null);


et hop !


 
ok merci je vais voir ce que je peux faire ;)

mood
Publicité
Posté le   profilanswer
 


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

  JList contenant des JCheckBox : gniiiiaaaaaa

 

Sujets relatifs
[bat] creation d un fichier .txt contenant un 0Comment tronquer une variable contenant un nombre ??
[C/C++] [Win32 API] Récupérer le nom du dossier contenant ce programme[C][linux] Connaitre le répertoire contenant l'éxecutable
Lecture d'un fichier texte contenant des entiers...JList et selection
[SQL] Champ contenant true ou false ?Pb d'affichage de JList en "temps réel"
comment effacer toute les lignes contenant ....[java] une icone ds une JList?
Plus de sujets relatifs à : JList contenant des JCheckBox : gniiiiaaaaaa


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