JScrollPane + CheckboxGroup = :(
Salutation développeur,
Mise en situation :
Dans un fenêtre, je crée un panel.setLayout(new GridLayout());
Je crée un groupe de bouton radio CheckboxGroup.
Je remplie le GridLayout avec des boutons radio ajoutés eu même au CheckboxGroup.
Dernier point, je rajoute un ScrollPane à mon panel.
Mon problème : Les boutons radio ne restent pas dans le GridLayout... Pire, ils empiètent sur les autres panels :cry:
Ma question : Avez vous une solution, merci beaucoup
Anexe : un programme que j'ai vite fait codé pour montrer le problème
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
import java.awt.*;
import javax.swing.*;
public class Fenetre extends JFrame{
private JPanel pCentre ;
private CheckboxGroup groupeRadio;
public Fenetre(){
this.setTitle("JScrollPane + CheckboxGroup");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setLayout(new BorderLayout());
//Je place un bouton en haut
this.getContentPane().add(new JButton("UP"), BorderLayout.NORTH);
//Je place un bouton en bas
this.getContentPane().add(new JButton("DOWN"), BorderLayout.SOUTH);
//Je place un bouton à gauche
this.getContentPane().add(new JButton("LEFT"), BorderLayout.WEST);
//Au centre un gridlayout de 25 lignes et 4 colonnes
pCentre = new JPanel();
pCentre.setLayout(new GridLayout(25,4));
//Je cree un groupe de bouton radio
groupeRadio = new CheckboxGroup();
//On rempli le GridLayout
for(int i=0;i<25;i++){
pCentre.add(new Checkbox("ligne : "+i, groupeRadio,false));
pCentre.add(new JLabel("colonne 1"));
pCentre.add(new JLabel("colonne 2"));
pCentre.add(new JLabel("colonne 3"));
}
// Ajout du scrollPane
JScrollPane scrollPane = new JScrollPane(pCentre);
// On insere le tout dans la fenetre
this.getContentPane().add(scrollPane, BorderLayout.CENTER);
this.setVisible(true);
}
public static void main (String[] args){
new Fenetre();
}
} |