# ActionListener: isSelected() oder getState() ?



## acinau (17. Jan 2004)

Gruess Gott, all!
I've implemented several ButtonGroups.
The first lot of JButtons in the first ButtonGroup is for selecting unique choices (one only).
At the very end, there are two JButtons, "accept" or "decline", on pressing one of these buttons, something happens.
The problem with my current code is this : once the conditions are fulfilled, even *before* the user clicks on the "accept" or "decline" button, something happens.
I'm currently using similar in concept to this :

```
if (blueButton.isSelected() && e.getSource() == accept) { // weitermachen...;}
else if (greenButton.isSelected() &&  e.getSource() == decline) { // exit...;}
```
Question:
Let the user select the choices in the ButtonGroups, but nothing should happen until the user clicks on the "accept" or "decline" button, how should I approach this???
TIA


----------



## Kerberus (17. Jan 2004)

Nur so ne Frage, sprichst du Deutsch, oder hast du den Sourcecode von einem Deutschen?


----------



## Guest (17. Jan 2004)

Ob ich Deutsch noch sprechen kann, das weiss ich selber nicht mehr, aber wenn es Ihnen leichter faellt, dann bitte auf Deutsch antworten. Der Sourcecode ist von mir selbst, und ich bin Chinese.  
Uebrigens, ich habe das problem (beinahe) geloescht.
Ich bedanke mich im voraus fuer Ihre Bemuehungen um meinetwegen!
Gruesse aus HK.


----------



## stev.glasow (17. Jan 2004)

lesen und schreiben scheint ja noch zu gehen aber zurück zum thema:

weis nicht ob ich dich jetzt vollkommen richtig verstanden habe, aber das wäre mein vorschlag:

```
public class test implements ActionListener
{
	static public void main(String[] args)
	{
	    new test();
    }   
    
    JRadioButton moin, tach, nabend; 
    JButton accept, decline;
    
    
    test()
    {
    	ButtonGroup bg = new ButtonGroup();
        
        accept = new JButton("accept");
        accept.addActionListener(this); 
        
        decline = new JButton("decline");
        decline.addActionListener(this); 
        decline.setEnabled(false);
        
        moin = new JRadioButton("moin");
        moin.addActionListener(this); 
        moin.setEnabled(false);
        
        tach = new JRadioButton("tach");
        tach.addActionListener(this); 
        tach.setEnabled(false);
        
        nabend = new JRadioButton("n'abend");
        nabend.addActionListener(this); 
        nabend.setEnabled(false);
        
        ButtonGroup group = new ButtonGroup();
        group.add(moin);
        group.add(tach);
        group.add(nabend);
        
        JFrame f = new JFrame();
        f.setSize(300,200);
        Container c = f.getContentPane();
        c.setLayout(new GridLayout(2,3));
        c.add(moin);
        c.add(tach);
        c.add(nabend);
        c.add(accept);
        c.add(decline);
        f.show();
    }
    public void actionPerformed(ActionEvent e) 
    {
		String cmd = e.getActionCommand();
		if(cmd.equals("accept"))
		{
			moin.setEnabled(true);
			tach.setEnabled(true);
			nabend.setEnabled(true);
			decline.setEnabled(true);
			accept.setEnabled(false);
			
		}
		else if(cmd.equals("decline"))
		{
			moin.setEnabled(false);
			tach.setEnabled(false);
			nabend.setEnabled(false);
			decline.setEnabled(false);
			accept.setEnabled(true);
		}
    } 

}
```

die checkboxen kann man erst gar nicht anklicken, wenn nicht vorher "accept" angeklickt wurde.


----------



## Guest (19. Jan 2004)

lesen und schreiben scheint ja noch zu gehen aber zurück zum thema: 
genau wie mein alter Kaefer von anno dazumal, scheint ja noch zu gehen... allerdings heisst es "geloest" und nicht "geloescht", ist kein Feuer!

Was this forum off the Net with a database connection problem?

Thanks for the code, it is very much *appreciated*, bedanke mich herzlich um Ihre Bemuehungen.
This is my version (code stub), one of several possibilities:

```
...java...
  public myJFrame(URL codeBase, String baseInstr) throws IOException
  { // set up various standard fonts which we will be using...
     ...java...    
    yesNoButtonGrp = new ButtonGroup();
    //ActionListener yesNoListener = new RadioListener(); // too cumbersome
    rbNo = new JRadioButton("Nein, will ich nicht mit!",true); // default
      rbNo.setFont(txtPlain);
      rbNo.addActionListener(new ActionListener()
        { public void actionPerformed(ActionEvent actionEvent)
          { System.out.println("rbNo: intent to decline!");
            yesOrNo = "rbNo";
          }
        });
    rbYes = new JRadioButton("Ja, ich bin dabei!",false);
      rbYes.setFont(txtPlain);
      rbYes.addActionListener( new ActionListener()
        { public void actionPerformed(ActionEvent actionEvent)
          { System.out.println("rbYes: intent to accept!");
            yesOrNo = "rbYes";
          }
        });
...usw...
  public void actionPerformed(ActionEvent aevt)
  {// NB the default is No
    if((aevt.getSource() == next) && yesOrNo.equals("rbYes"))
    { System.out.println("next + rbYes : accept conditions");
      // throw another JFrame for the corresponding baseInstr, buy or sell
    } else 
    { System.out.println("all others : decline conditions");
      f.dispose(); // close the current Terms and Conditions window!
    }
  }// end of method actionPerformed
[code]
```


----------

