Bonjour a tous ,
j'ai un problème avec une JTable.
Je vous explique donc pour vous situer ce que j'ais fais: j'ais créé une sorte de moteur de recherche de tables. J'ais donc une JDialog pour faire cette recherche. Elle contien 4 parties.
La première partie pour les critères de recherche avec 3 champs : Nom table/Libellé, Nom colonne/Libellé, Nom Application/Libellé et Un bouton recherche.
J'ais ensuite 3 JPanel. Le premier contien un JTree et affiche le résultat de la recherche par Nom d'application - catégorie _ libellé table. Le deuxième JPanel affiche dans une JTable les détails de la table sélectionnée dans le JTree; ce JPanel contien également des libellé dans lesquels j'affiche le nom de la table, le libellé, et l'application.
Le troisième JPanel affiche les indexes des colonnes également dans une JTable. J'ais enfin une Bare d'outils avec deux boutons. Annuler pour retourner a la page précédente sans faire de seléction, et importer pour importer la table selectionnée et ses informations.
La JDialog se ferme alors et ma JTable s'affiche alors dans un JPanel. C'est une sorte de fenètre ou mes tables s'affichent sous forme grafique. Je peux ainsi importer plusieurs JTables dans mon JPanel sans problème, enfin presque.
Les Jtables qui s'affichent dans mon JPanel ont une particularitée et c'est la mon problème la barre d'intitulé des deux colonnes que j'affiche est, comment dire, completement tassé, si bien qu'on ne peux pas lire l'intitulé. J'ais essayé pas mal de choses pour modifier ce problème mais rien n'y fait. Je ne comprend pas comment ca se fait ... voici une partie de mon code :
Je suppose que ca n'a pas l'air évident mais j'ais vraiment besoin d'aide alors n'hésitez pas. D'avance MERCI
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
76
77
78
79 private void initPanel() { //[...] // Panneau du schéma des tables _schemecontainer.setLayout(new BorderLayout()); _schemecontainer.add(_schemetools,BorderLayout.NORTH); _schemepanel = new JPanel(); GridBagLayout gridbag = new GridBagLayout(); _schemepanel.setLayout(gridbag); _schemepanel.setPreferredSize(new Dimension(700,400)); _schemecontainer.add(_schemepanel,BorderLayout.CENTER); } public void actionPerformed(ActionEvent evt) { if (_bcreate.equals(evt.getSource())) { TableWizardControler controler=new TableWizardControler(); TableWizardViewer tabviewer=new TableWizardViewer(controler,HomeViewer.getParentFrame()); if (!tabviewer.isCanceled()) { _controler.addTable(controler.getSelectedTable()); addDescribeTable(controler.getSelectedTable()); } } } public void addDescribeTable(DataTableEntity table) { GridBagLayout gridbag=(GridBagLayout)_schemepanel.getLayout(); //Création de contraintes pour le positionnement du GridBag GridBagConstraints constraint = new GridBagConstraints(); constraint.fill = GridBagConstraints.HORIZONTAL; constraint.insets = new Insets (2,2,2,2); constraint.gridx = _controler.getTableCount()+1; constraint.gridy = 1; JTable tab=new JTable(table.getTableModel()); //Mise en forme des colonnes tab.getColumnModel().getColumn(0).setPreferredWidth(80); //Enchainement des Set... pour rendre la colonne invisible tab.getColumnModel().getColumn(1).setPreferredWidth(0); tab.getColumnModel().getColumn(1).setMinWidth(0); tab.getColumnModel().getColumn(1).setMaxWidth(0); tab.getColumnModel().getColumn(2).setPreferredWidth(0); tab.getColumnModel().getColumn(2).setMinWidth(0); tab.getColumnModel().getColumn(2).setMaxWidth(0); tab.getColumnModel().getColumn(3).setPreferredWidth(0); tab.getColumnModel().getColumn(3).setMinWidth(0); tab.getColumnModel().getColumn(3).setMaxWidth(0); tab.getColumnModel().getColumn(4).setPreferredWidth(0); tab.getColumnModel().getColumn(4).setMinWidth(0); tab.getColumnModel().getColumn(4).setMaxWidth(0); tab.getColumnModel().getColumn(5).setPreferredWidth(150); tab.getColumnModel().getColumn(6).setPreferredWidth(0); tab.getColumnModel().getColumn(6).setMinWidth(0); tab.getColumnModel().getColumn(6).setMaxWidth(0); tab.getColumnModel().getColumn(7).setPreferredWidth(0); tab.getColumnModel().getColumn(7).setMinWidth(0); tab.getColumnModel().getColumn(7).setMaxWidth(0); tab.getColumnModel().getColumn(8).setPreferredWidth(0); tab.getColumnModel().getColumn(8).setMinWidth(0); tab.getColumnModel().getColumn(8).setMaxWidth(0); tab.getColumnModel().getColumn(9).setPreferredWidth(0); tab.getColumnModel().getColumn(9).setMinWidth(0); tab.getColumnModel().getColumn(9).setMaxWidth(0); tab.getColumnModel().getColumn(10).setPreferredWidth(0); tab.getColumnModel().getColumn(10).setMinWidth(0); tab.getColumnModel().getColumn(10).setMaxWidth(0); JScrollPane scrolltab=new JScrollPane(tab); scrolltab.setPreferredSize(new Dimension(250,200)); gridbag.setConstraints(scrolltab, constraint); _schemepanel.add(scrolltab,BorderLayout.CENTER); }
Voici un screen shot afin de vous aider a mieux comprendre mon problème. Désolé pour la qualité d'image
J'ais vraiment cherché absolument partout et je n'ais rien trouvé (possible que j'ais mal cherché mais bon...) J'ais vraiment besoin d'aide la car je n'avance plus du tout...
Partager