Comment créer une checkbox dans une JTable : en fait il me faudrais sur toute une colonne des checkbox. Merci d'avance pour votre aide.
C'est en fait un JCheckBox a ajouter dans un JTable.
Comment créer une checkbox dans une JTable : en fait il me faudrais sur toute une colonne des checkbox. Merci d'avance pour votre aide.
C'est en fait un JCheckBox a ajouter dans un JTable.
Il te suffit de mettre une valeur booleene dans le tableau pour qu'il t'affiche un JChekBox.
Tu n'aurais pas un petit exemple a tout hazard STP ?
En fait il me faudrais pouvoir les insérer dans une colonne nommée EXTRAIRE et faire en sorte de pouvoir en selectionner plusieurs. Alors si quelqu'un peut me montrer comment faire ca serais sympas.
Euh, là, direction tutoriels :
- How to use JTables (pointé par la javadoc)
- et notamment l'exemple TableDemo.java (dans le tutoriel)
Ok super merci beaucoup j'ais résolu mon problème... Désolé de vous avoir embété alors qu'il y avais des tutos. Encore merci
En fait non... Je ne parviens pas a trouver un exemple concrait qui me permetrais de faire apparaitre des checkbox. En ce qui concerne les tutaux je ne parviens pas a les adapter a mon problème. Je ne sais pas ou je vais devoir déclarer mes checkbox. SVP, j'ais besoin d'aide....![]()
Ce lien pourra t'être utile :
http://forum.java.sun.com/thread.jsp...sageID=3317188
Cela te permettra de créer des JCheckbox dans les cellules de ta JTable.
Il faudrais également que l'intitulé de la colonne soit une checkbox et qu'en la sélectionnant, toutes les lignes soient également elles aussi sélectionnées.
Alors là je ne sais pas trop.
Ce que je sais c'est que tu peux modifier l'entête d'une colonne de cette façon :
comme pour pas exemple ici centrer toutes les colonnes de ton tableau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ((DefaultTableCellRenderer)tableau.getTableHeader().getDefaultRenderer())
Tu peux bien sur l'appliquer sur une colonne en précisant l'indice de la colonne par la méthode getColumn(int index).
Code : Sélectionner tout - Visualiser dans une fenêtre à part ((DefaultTableCellRenderer)tableau.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(SwingConstants.CENTER);
Ensuite, y définir une checkbox qui interagissent avec celles du tableau me semble faisable, il faudra juste rajouter un écouteur sur la JCheckbox de l'entête de colonne.
Voilà en espérant avoir pu t'aider
ps : tu as toujours les tutos de gestion de JTable et notamment de leur renderer.
ben c'est déja bien d'avoir essayé de m'aider... Mais j'ais pas mal de difficulté en Java surtout sur le SWING alors.... je n'arrive meme pas à afficher les CheckBox dans mon tableau et je ne m'en sort pas avec les tutaux. Il ne ressemble pas du tout a ce que j'ais déja fais. Ils déclarent tous des trucs comme ca :
Le problème c'est que moi mes colonnes sont alimentés par un base de donnée, et je ne sais pas ou je pourrais rajouter cela.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 String[] columnNames = {"Date", "String", "Integer", "Boolean"}; Object[][] data = { {new Date(), "A", new Integer(1), Boolean.TRUE}, {new Date(), "B", new Integer(2), Boolean.FALSE}, {new Date(), "C", new Integer(9), Boolean.TRUE}, {new Date(), "D", new Integer(4), Boolean.FALSE} };
Alors là, ce n'est pas forcément faisable par défaut (je ne peux rien affirmer). Il me semble que la JTable ne permet pas de fournir d'Editor pour le JTableHeader.Envoyé par Spinoza23
Essaie de jeter un coup d'oeil sur le projet JXTable ?
Ou sinon, tu peux cacher le TableHeader et utiliser la première ligne de la JTable à la place. C'est un peu bricolé, mais ça devrait marcher.
Google est là et faut un peu trifouiller dans les tutos même si c'est pas évident.
En 2 minutes sous Google :
http://forum.java.sun.com/thread.jspa?threadID=761668
http://java.sun.com/docs/books/tutor...nts/table.html
Prends un peu plus de temps pour mieux cerner le fonctionnement de la JTable, quitte à perdre du temps, mieux vaut que se soit au début pour mieux comprendre qu'après au codage
Enfin, le code que tu me montres créer 4 colonnes avec des noms de colonnes.
Je pense donc que tu dois t'appliquer à mieux comprendre les JTable avant de les utiliser et là ya pas de miracle, faut lire les tutos![]()
le problème c'est que j'ais besoin des autres entetes. J'aurais bien un screen shot a montrer mais je n'arrive pas a poster la photo...
J'ais déja lu ces tutaux et le problème c'est que ce n'est pas ce que je veu obtenir.
Voila a quoi ressemble l'intitulé de mes colonnes et de la déclaration de mes tableaux pour l'instant :
c'est sur le deuxième tableau que je veux insérer mes CheckBox et en fait il faudrais que je puisse mettre en place une checkbox a la place de l'intitulé "N°".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 public TableWizardControler() { _form = new DefaultFormModel(this); _title = new DefaultFormModel(this); Vector coltable = new Vector(); coltable.add("Tri"); coltable.add("Table"); coltable.add("Libellé table"); coltable.add("Application"); coltable.add("Libellé application"); coltable.add("Catégorie"); coltable.add("helement"); String sql="select distinct 1, numgttrc, intgttrc, appgttrc, intgtapp, catgttrc, null from gttrc rc, gtapp pp, gttrd rd where pp.numgtapp=rc.appgttrc and rc.numgttrc=rd.trcgttrd "; try { _resultmodel = new DataTreeEntity(sql, "Résultat de la recherche"); } catch (AlertException e) { // TODO Auto-generated catch block e.printStackTrace(); } Vector coltable1 = new Vector(); coltable1.add("N°"); coltable1.add(""); coltable1.add(""); coltable1.add(""); coltable1.add("Colonne"); coltable1.add("Libellé"); coltable1.add("Type"); coltable1.add("Taille"); coltable1.add("Contrainte"); coltable1.add("Lien"); coltable1.add("Paramètre"); String sql1="select upper(numgttrc), intgttrc, intgtapp, colgttrd, intgttrd, type, length, nullable, col_link, par_link from gtdstv where numgttrc = ? "; try { _detailmodel = new DataTableEntity(sql1,coltable1); } catch (AlertException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Comment je peu faire pour déclarer la colonne de mon tableau comme BOOLEAN ??
A y est j'y suis arrivé. J'ais été fortement aidé mais le principal c'est que j'y sois arrivé.
Merci a tous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 if (getValueAt(0, c) != null) return getValueAt(0, c).getClass(); else if (c==0) { return Boolean.class; } else { return super.getColumnClass(c); }
Partager