Bonjour,
J'ai un petit soucis avec JScrollPane :
A l'intérieur d'un JPanel (le "this"), je veux mettre un JPanel avec dedans entre autres une liste qui aura donc un scroll.
Code java : 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 //partie comptes JPanel panelComptes = new JPanel(); panelComptes.setPreferredSize(new Dimension(160, 310)); /*intérieur partie*/ panelComptes.setLayout(new GridBagLayout()); GridBagConstraints gbcComptes = new GridBagConstraints(); gbcComptes.gridx = 0; gbcComptes.gridy = 0; gbcComptes.fill = 1; gbcComptes.weightx = 1; JLabel titreComptes = new JLabel("Comptes"); titreComptes.setPreferredSize(new Dimension(140, 15)); titreComptes.setBackground(Color.pink); titreComptes.setHorizontalAlignment(JLabel.CENTER); titreComptes.setOpaque(true); panelComptes.add(titreComptes, gbcComptes); gbcComptes.gridy++; ArrayList<Compte> comptes = c.getComptes(); for (Compte compte : comptes) { JLabel lab = new JLabel(compte.getNom()); lab.setPreferredSize(new Dimension(140, 15)); lab.setHorizontalAlignment(JLabel.CENTER); panelComptes.add(lab, gbcComptes); gbcComptes.gridy++; } JButton ajoutCompte = new JButton("Ajout compte"); ajoutCompte.addActionListener(new NouveauCompteListener(this.c)); ajoutCompte.setHorizontalAlignment(JLabel.CENTER); ajoutCompte.setVerticalAlignment(JLabel.NORTH); ajoutCompte.setOpaque(true); panelComptes.add(ajoutCompte, gbcComptes); gbcComptes.gridy++; JLabel extraSpace = new JLabel(); gbcComptes.weighty = 1; panelComptes.add(extraSpace, gbcComptes); /*fin intérieur comptes*/ gbc.gridheight = 4; JScrollPane scrollPanelComptes = new JScrollPane(panelComptes); this.add(scrollPanelComptes, gbc); gbc.gridheight = 1;
Problème : même avec le scroll, soit les JLabels sont étriqués et se marchent dessus comme ici, soit je mets plutôt des setMinimumSize et setMaximumSize, et du coup malgré le setMaximumSize le JPanel s'aggrandit avec les JPanels...
Bref, je fais sans aucun doute un truc mal. Quoi qu'est-ce ?
Merci d'avance pour votre aide !
Partager