Pb avec JRadioButton...

alexglvr Messages postés 108 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 17 mai 2017 - 12 août 2004 à 13:20
alexglvr Messages postés 108 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 17 mai 2017 - 13 août 2004 à 10:56
Bonjour,

j'ai deux groupes (ButtonGroup) de trois radio button (JRadioButton). Je voudrais que en fonction de la selection du radio button du groupe1 certains boutons du groupe2 soient enabled/disabled.

Voila mes src:

public CursMelange() {

super();

//Creation des RadioButtons pour choix melange

JRadioButton _RBut= new JRadioButton(_RBut_nom, true);
JRadioButton _VBut= new JRadioButton(_VBut_nom, false);
JRadioButton _BBut= new JRadioButton(_BBut_nom, false);

RadioListener1 _rl = new RadioListener1();
_RBut.addActionListener(_rl);
_VBut.addActionListener(_rl);
_BBut.addActionListener(_rl);

// Group the radio buttons.
ButtonGroup _group1 = new ButtonGroup();
_group1.add(_RBut);
_group1.add(_VBut);
_group1.add(_BBut);

/////////////////////////////////////////////////
_S1But_nom= "Rouge";
_S2But_nom= "Vert";
_S3But_nom= "Bleu";
JRadioButton _S1But= new JRadioButton(_S1But_nom, false);
JRadioButton _S2But= new JRadioButton(_S2But_nom, true);
JRadioButton _S3But= new JRadioButton(_S3But_nom, false);

RadioListener2 _r2 = new RadioListener2();
_S1But.addActionListener(_r2);
_S2But.addActionListener(_r2);
_S3But.addActionListener(_r2);

_S1But.setEnabled(false);

// Group the radio buttons.
ButtonGroup _group2 = new ButtonGroup();
_group2.add(_S1But);
_group2.add(_S2But);
_group2.add(_S3But);

_SupportBut1 = new JPanel();
_SupportBut1.setLayout(new FlowLayout());
_SupportBut1.setBounds( 0, 35, 350, 40 );
_SupportBut1.add(_RBut);
_SupportBut1.add(_VBut);
_SupportBut1.add(_BBut);

_SupportBut2 = new JPanel();
_SupportBut2.setLayout(new FlowLayout());
_SupportBut2.setBounds( 0, 65, 350, 40 );
_SupportBut2.add(_CouleurSec);
_SupportBut2.add(_S1But);
_SupportBut2.add(_S2But);
_SupportBut2.add(_S3But);

this.setLayout(null);
this.add(_SupportBut1);
this.add(_SupportBut2);
...
}

//-----------------------------------------------------------
// METHODES
//-----------------------------------------------------------
public void actualiser_titre(){

_S1But.setEnabled(true);
repaint();
}


public void paint(Graphics g) {

super.paint(g);
this.setSize( _largeur, _hauteur );
}

class RadioListener1 implements ActionListener {
public void actionPerformed(ActionEvent e) {
//System.out.println(e);

if (e.getActionCommand()=="Rouge") {_nomScroll1="Rouge";}
else if (e.getActionCommand()=="Vert") {_nomScroll1="Vert";}
else if (e.getActionCommand()=="Bleu") {_nomScroll1="Bleu";}

actualiser_titre();
}
}

class RadioListener2 implements ActionListener {
public void actionPerformed(ActionEvent e) {
//System.out.println(e);

if (e.getActionCommand()=="Rouge") {_nomScroll2="Rouge";}
else if (e.getActionCommand()=="Vert") {_nomScroll2="Vert";}
else if (e.getActionCommand()=="Bleu") {_nomScroll2="Bleu";}
actualiser_titre();
}
}

}

actualiser_titre engendre des erraurs et pas de modification e mes radiobutton...

A l'aide svp

Alex

4 réponses

cid019 Messages postés 237 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 juillet 2006
12 août 2004 à 15:40
ne fait pas les listener commen tu les as fait, c'est pas bon...
Pour tester si un JRadioButton est selectionne ou non fait comme ca:

if (monRadioButton.isSelected() == true) action1
...

Tu declares tes RadioGroupButton puis tes RadioButton
Si tu veux mettre un Listener mets en un sur chaque RadioButton de ton premier groupe et la tu teste.
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == btn1)
...
else if (e.getSource() = btn2)
....
}

Peut-etre devras tester a l'interieur de chaque if si le bouton est selectionnee ou non (isSelected())
cid019
0
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
12 août 2004 à 18:55
cid019, je pense que le ==true dans monRadioButton.isSelected() == true est inutile.

Si je me trompe, dis le.
0
cid019 Messages postés 237 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 juillet 2006
13 août 2004 à 08:39
tu as parfaitement raison...
autant pour moi, erreur stupide...

cid019
0
alexglvr Messages postés 108 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 17 mai 2017
13 août 2004 à 10:56
Mais est ce normal que je ne puisse pas changer les caracteristiques de mes0 JRadioButton du group2 (text, enabled) à partir du listener des jradio button du groupe 1???

Alex
0
Rejoignez-nous