Boutons Swing

Résolu
redsky1531 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
redsky1531 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je débute en java intermédiaire et j'aurais quelques questions sur des champs qui restent flous
- comment peut on afficher un groupe de bouton dans une fenetre "vu que la fonction this.add ne le prends pas en compte"
- pourquoi pour des boutons radio on ne peut que mettre un bouton a la fois a moins de les regrouper en un panel
merci

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

"aide debutant oo" n'est pas très bien choisi comme titre, ce que tu fais ce n'est pas de l'orienté objet (OO) mais du Swing... (j'ai changé le titre)

- comment peut on afficher un groupe de bouton dans une fenetre "vu que la fonction this.add ne le prends pas en compte"
Il va falloir être plus précis, c'est quoi this dans ton cas et qu'est-ce que tu mets dans add ?

pourquoi pour des boutons radio on ne peut que mettre un bouton a la fois a moins de les regrouper en un panel
Pareil, dans quel contexte est-ce que tu te situes ? Rien n'empêche d'avoir plusieurs boutons et de toute façon un panel tu en as toujours un...

De manière générale il faut distinguer deux choses : les Component (ex: Button) et les Container (ex: Panel). Le principe étant de mettre un ou plusieurs composants dans les conteneurs et éventuellement des conteneurs dans d'autres conteneurs.

Plus d'infos : How to Use Buttons, Check Boxes, and Radio Buttons
0
redsky1531 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
desolé pour mon imprudence .
en resumé j'ai creé une fenetre jframe avec plsuieurs button radios
avec la meth buttongroup je n'ai pas pu inserer tous ces boutons vu que la methode jframe.add ne prend pas en consideration la classe du bouton groupe . pourquoi ???
pour l'autre probleme c'est que dans ma fenetre j frame je ne peux mettre plus d'un bouton meme si la compilation se passe bien il me faut absolument passé par une methode jpanel est ce normal ???
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
"la methode jframe.add ne prend pas en consideration la classe du bouton groupe"
Le ButtonGroup c'est un groupage logique pour gérer le fait qu'un seul soit coché en même temps, mais l'ajout à la JFrame c'est un groupage physique pour mettre le bouton à l'endroit que tu veux. Il faut faire les deux.
Dans le lien que je t'ai donné tu peux regarder RadioButtonDemo.java

//Group the radio buttons.
ButtonGroup group = new ButtonGroup();
group.add(birdButton);
group.add(catButton);
group.add(dogButton);
group.add(rabbitButton);
group.add(pigButton);

//Put the radio buttons in a column in a panel.
JPanel radioPanel = new JPanel(new GridLayout(0, 1));
radioPanel.add(birdButton);
radioPanel.add(catButton);
radioPanel.add(dogButton);
radioPanel.add(rabbitButton);
radioPanel.add(pigButton);

"dans ma fenetre j frame je ne peux mettre plus d'un bouton"
Si tu peux, mais c'est probablement que tout tes boutons vont se mettre au même endroit et que tu ne les vois pas, ils se superposent.
En Swing il y a la notion de Layout, c'est ce qui permet d'organiser les Component au sein d'un Container, il y a plusieurs types de Layout, par défaut une JFrame a un BorderLayout. Selon la fenêtre graphique que tu veux obtenir tu devrais peut-être changer le Layout. L'un des plus simple pour débuter c'est le GridLayout.

frame.setLayout(new GridLayout(5, 4)); // 5 lignes, 4 colonnes

Plus d'infos : A Visual Guide to Layout Managers
0
redsky1531 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
merci pour ton aide ..... tu m’enlèves une sacrée épine pour mes révisions de contrôles
0