Bonjour à tous.
Je débute en développement graphique Java. Pour mes besoins personnel, et également de manière a apprendre le développement d'interface graphique en java, je développe une petite application aidant à l'apprentissage du vocabulaire en anglais
Mon application se présente de la manière suivante. J'ai plusieurs onglets amenant a divers exercices. Dans certains onglets, il peut y avoir d'autre onglets. Tout cela forme une sorte de menu et de sous menu et jusque là, je n'ai pas eu trop de difficulté à le mettre en place.
Dans un des onglets, a savoir un onglet d'administration, je souhaiterais placer un tableau a 2 colonnes et avec un nombre de ligne indéfinie. En gros ce tableau affiche une colonne en français et une colonne en anglais.
Plutôt qu'un grand discours, je vous montre la méthode que j'ai écrite.
Le problème avec ce code, c'est que je me retrouve avec un tout petit tableau coincé en haut à gauche de la fenêtre. Ce problème n'arrive qu'a partir du moment ou j'ajoute le JScrollPane. Le GridBagLayout est déjà en place car dans cette vue j'aurais d'autres éléments a placé et j'ai déjà assimilé l'utilisation du GridBagLayout.
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 protected JPanel VocabularyAdministration() { JPanel panel = new JPanel(); GridBagConstraints constraints = new GridBagConstraints(); panel.setLayout(new GridBagLayout()); panel.setSize(new Dimension(500, 500)); //nombre de ligne inconnue Object[][] values = new Object[][] { {"en", "fr"}, {"en", "fr"}, {"en", "fr"}, {"en", "fr"}, {"en", "fr"} }; String[] head = {"English", "French"}; JTable tableau = new JTable(values, head); tableau.setFillsViewportHeight(true); tableau.setSize(new Dimension(500, 500)); tableau.setRowHeight(15); tableau.getColumnModel().getColumn(0).setPreferredWidth(300); tableau.getColumnModel().getColumn(1).setPreferredWidth(300); JScrollPane scroll = new JScrollPane(tableau); constraints.gridx = 0; constraints.gridy = 0; constraints.gridheight = 1; constraints.gridwidth = 1; constraints.weightx = 1.; constraints.weighty = 1.; constraints.anchor = GridBagConstraints.FIRST_LINE_START; panel.add(scroll, constraints); return panel; }
Concernant mon problème de tableau avec un scroll, j'ai fait pas mal de recherche sur developpez et sur google, mais sans succès (je n'affirme pas que mes recherches étaient bonnes non plus).
Donc si une âme charitable pouvez m'aider a corriger cette erreur, mais surtout, ce qui m’intéresse le plus c'est comprendre mon erreur. Donc si quelqu'un à une solution, je suis preneur également d'une petite explication.
Si vous avez besoin de plus de code ou de plus de détail, j'essayerai d'y répondre le plus clairement possible.
D'avance merci pour votre aide.
Coco.
Partager