JList contenant des JCheckBox : gniiiiaaaaaa - Java - Programmation
Marsh Posté le 01-04-2003 à 16:42:21
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 !
Marsh Posté le 01-04-2003 à 17:02:01
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).
Marsh Posté le 01-04-2003 à 17:12:22
Petoulachi a écrit : |
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 ...
Marsh Posté le 01-04-2003 à 17:12:28
Je pense que ca doit fonctionner si tu utilises une JTable a la place d'une JList.
Marsh Posté le 01-04-2003 à 18:11:10
Quel est ton modèle de sélection ? (à voir dans JList.getSelectionModel()). A mon avis, ça doit répondre à ton problème.
Marsh Posté le 01-04-2003 à 20:57:37
à priori je vois pas l'interet d'utiliser une jlist
Marsh Posté le 02-04-2003 à 09:55:22
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
Marsh Posté le 02-04-2003 à 10:05:24
Petoulachi a écrit : alors alors |
Et ben tu fais une JTable avec la derniere colonne affichant une JCheckBox, et ca RULEZZZ
Marsh Posté le 02-04-2003 à 10:34:55
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
Marsh Posté le 02-04-2003 à 11:03:22
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).
Marsh Posté le 02-04-2003 à 11:23:10
Nerisson a écrit : Si tu mets le TableHeader a null ca doit fonctionner (edit: ah bah non ca ne fonctionne pas...) |
ok je note merci
Pour les headers je trouve pas, ouin
Marsh Posté le 02-04-2003 à 11:37:16
m'enfin pourquoi tu fous pas tes checkbox dans un bete panel?
Marsh Posté le 02-04-2003 à 11:48:49
the real moins moins a écrit : m'enfin pourquoi tu fous pas tes checkbox dans un bete panel? |
bin je voulais me servir du principe MVC parce qu'on l'a vu cette année en cours, ça aurait été bien
Marsh Posté le 02-04-2003 à 13:29:27
Petoulachi a écrit : |
je vois pas le rapport avec la list
Marsh Posté le 02-04-2003 à 13:36:28
Petoulachi a écrit : |
ben les header ne s'affichent pas par defaut, non ?
je vais regarder ...
Marsh Posté le 02-04-2003 à 14:54:58
the real moins moins a écrit : je vois pas le rapport avec la list |
bin avec la List, je redefinie la class ListCellRenderer.
Si ça c pas le principe MVC
Marsh Posté le 02-04-2003 à 14:55:11
ReplyMarsh Posté le 02-04-2003 à 15:26:41
Petoulachi 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 ...
Marsh Posté le 02-04-2003 à 15:35:50
bobuse a écrit : |
ok merci
Marsh Posté le 02-04-2003 à 16:24:18
Petoulachi 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é?)
Marsh Posté le 02-04-2003 à 17:19:25
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
Marsh Posté le 02-04-2003 à 19:19:59
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 :
|
et hop !
Marsh Posté le 03-04-2003 à 09:59:53
bobuse a écrit : Bon ok, pour l'histoire des tableHeader !
|
ok merci je vais voir ce que je peux faire
Marsh Posté le 01-04-2003 à 16:22:49
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 :
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:
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