utilisation de JScrollPane
Bonjour,
J'ai un petit soucis avec JScrollPane :
Code:
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; |
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.
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 !