Bonjour,
Je créer une interface qui doit reprensenter un tableau de 5 ligne sur 24 colonnes ou 12 ou 1 !
Quel serai le meilleur moyen ?
Pouur l'instant j'ai créer 5 JLabel avec un certain nom d'espace entre les X valeurs.
Merci
![]()
Bonjour,
Je créer une interface qui doit reprensenter un tableau de 5 ligne sur 24 colonnes ou 12 ou 1 !
Quel serai le meilleur moyen ?
Pouur l'instant j'ai créer 5 JLabel avec un certain nom d'espace entre les X valeurs.
Merci
![]()
J'ai reussi a poser mon tableau.
Je ne vois pas comment lui dire que pour toutes ces casses , si le texte ne rentre pas alors il fo redimensionner le tableau ?
Tu veux dire quoi par là? Redimensionner les colonnes?Envoyé par arsenik7
il me semble que c'est fait automatiquement par la classe jtable: la colonne s'aligne en fait sur la taille de son entête, à moins de lui spécifier le contraire.Envoyé par arsenik7
Non en fait il s'etale sur toutes sa longueur avec des cases régulières![]()
Tu peux faire un écouteur sur ta JTable pour savoir quand le contenu change et ensuite mettre à jour la largeur de la colonne voulue en définissant le nombre de px par caractère....
Il y a sûrement plus simple mais cette solution doit marcher.
J'en suis la, mais c'est bizarre , je voudrais diminuer de moitié la taille de ma table par rapport à son Panel. Mais j'y arrive po
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 import java.awt.GridLayout; import java.io.IOException; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.UIManager; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumnModel; /* * COULEUR DES PORTS / VERT - CONENCTE * ROUGE - DECONNECTE * MAGENTA - PAS DEFINI */ public class Dessin_switch extends JPanel { Dynamique dyna; JButton marche,arret; JLabel n_priseL, vitesseL, err_eL, err_sL, cableL, connecter, deconnecter, indeterminer; String[] prise12 ={"1","2","3","4","5","6","7","8","9","10","11","12"}; String[] prise24 ={"N° prise","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24"}; JScrollPane scroll; JTable tab; public Dessin_switch() throws IOException { UIManager.put("ScrollBar.width", new Integer(8)); this.setLayout(new GridLayout(0,1)); n_priseL = new JLabel("Numéro de la prise"); vitesseL = new JLabel("Vitesse"); err_eL = new JLabel("Erreur en entrée"); err_sL = new JLabel("erreur en sortie"); cableL = new JLabel("Cable connecté"); Object[][] donnees= { {vitesseL.getText() ,"1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1"}, {err_eL.getText() ," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",""}, {err_sL.getText() ,"","","","","","","","","","","","","","","","","","","","","","","",""}, {cableL.getText() ,"1" , "0", "0","1" , "0", "0","1" , "0", "0","1" , "0", "0","1" , "0", "0","1" , "0", "0","1" , "0", "0","1" , "0", "0"} }; tab = new JTable(donnees,prise24); tab.setSize(this.getWidth()-50,this.getHeight()-50); scroll = new JScrollPane(tab,scroll.VERTICAL_SCROLLBAR_AS_NEEDED, scroll.HORIZONTAL_SCROLLBAR_NEVER); this.add(scroll); } }
en mettant un Layout(null), j'arrive a redimensionner la Table.
Ce que je cherche a faire c'est redimensioner la premiere colonne pour afficher le texte de cette colonnes en entier.
Les colonnes suivantes doivent etre de la meme longueur.
Voila la réponse![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 tab = new JTable(donnees,prise24); //this.setColumnSize(); tab.getColumnModel().getColumn(0).setPreferredWidth(400); //400px pour la largeur de la colonne 0
Ah tu voulais juste ca... Désolé j'aurais pu te le dire avant... Mais c'est pas dynamique de cette manière
Partager