/**单选框*/
import java.awt.Container;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;class  TestRadioButton extends JFrame implements ItemListener
{
JRadioButton btn1,btn2,btn3;
ButtonGroup fee;
JPanel panel; public TestRadioButton(){
Container con=getContentPane();
fee=new ButtonGroup();
btn1=new JRadioButton("电费");
btn2=new JRadioButton("水费");
btn3=new JRadioButton("燃气费");
fee.add(btn1);
fee.add(btn2);
fee.add(btn3);
panel=new JPanel();
panel.add(btn1);
panel.add(btn2);
panel.add(btn3); con.add(panel);
btn1.addItemListener(this);
btn2.addItemListener(this);
btn3.addItemListener(this);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void itemStateChanged(ItemEvent e){
if(e.getItemSelectable()==btn1){
System.out.println("我来收电费了");
}else if(e.getItemSelectable()==btn2){
System.out.println("我来收水费了");
}else if(e.getItemSelectable()==btn3){
System.out.println("我来收燃气费");
}
}
public static void main(String[] args) 
{
TestRadioButton test=new TestRadioButton();
test.setSize(200,100);
test.setVisible(true);
}
}

解决方案 »

  1.   

    在select和deselect的时候都会触发itemStateChanged响应方法
      

  2.   

    这样 在select的时候执行响应动作public void itemStateChanged(ItemEvent e) {
    if (e.getStateChange() == 1) {
    if (e.getItemSelectable() == btn1) {
    System.out.println("我来收电费了");
    } else if (e.getItemSelectable() == btn2) {
    System.out.println("我来收水费了");
    } else if (e.getItemSelectable() == btn3) {
    System.out.println("我来收燃气费");
    }
    }
    }
      

  3.   

    帮你改好了.import   java.awt.Container; 
    import   java.awt.event.*; 
    import   java.awt.event.ItemListener; 
    import   java.awt.event.WindowAdapter; 
    import   java.awt.event.WindowEvent; import   javax.swing.ButtonGroup; 
    import   javax.swing.JFrame; 
    import   javax.swing.JPanel; 
    import   javax.swing.JRadioButton; class     TestRadioButton   extends   JFrame   implements   ActionListener 

    JRadioButton   btn1,btn2,btn3; 
    ButtonGroup   fee; 
    JPanel   panel; public   TestRadioButton(){ 
    Container   con=getContentPane(); 
    fee=new   ButtonGroup(); 
    btn1=new   JRadioButton("电费"); 
    btn2=new   JRadioButton("水费"); 
    btn3=new   JRadioButton("燃气费"); 
    fee.add(btn1); 
    fee.add(btn2); 
    fee.add(btn3); 
    panel=new   JPanel(); 
    panel.add(btn1); 
    panel.add(btn2); 
    panel.add(btn3); con.add(panel); 
    btn1.addActionListener(this); 
    btn2.addActionListener(this); 
    btn3.addActionListener(this); 
    addWindowListener(new   WindowAdapter(){ 
    public   void   windowClosing(WindowEvent   e){ 
    System.exit(0); 

    }); 

    public   void   actionPerformed(ActionEvent   e){ 
    if(e.getSource()==btn1){ 
    System.out.println("我来收电费了"); 
    }else   if(e.getSource()==btn2){ 
    System.out.println("我来收水费了"); 
    }else   if(e.getSource()==btn3){ 
    System.out.println("我来收燃气费"); 


    public   static   void   main(String[]   args)   

    TestRadioButton   test=new   TestRadioButton(); 
    test.setSize(200,100); 
    test.setVisible(true); 

      

  4.   

    帮你改好了.[code=Java]import   java.awt.Container; 
    import   java.awt.event.*; 
    import   java.awt.event.ItemListener; 
    import   java.awt.event.WindowAdapter; 
    import   java.awt.event.WindowEvent; import   javax.swing.ButtonGroup; 
    import   javax.swing.JFrame; 
    import   javax.swing.JPanel; 
    import   javax.swing.JRadioButton; class     TestRadioButton   extends   JFrame   implements   ActionListener 

    JRadioButton   btn1,btn2,btn3; 
    ButtonGroup   fee; 
    JPanel   panel; public   TestRadioButton(){ 
    Container   con=getContentPane(); 
    fee=new   ButtonGroup(); 
    btn1=new   JRadioButton("电费"); 
    btn2=new   JRadioButton("水费"); 
    btn3=new   JRadioButton("燃气费"); 
    fee.add(btn1); 
    fee.add(btn2); 
    fee.add(btn3); 
    panel=new   JPanel(); 
    panel.add(btn1); 
    panel.add(btn2); 
    panel.add(btn3); con.add(panel); 
    btn1.addActionListener(this); 
    btn2.addActionListener(this); 
    btn3.addActionListener(this); 
    addWindowListener(new   WindowAdapter(){ 
    public   void   windowClosing(WindowEvent   e){ 
    System.exit(0); 

    }); 

    public   void   actionPerformed(ActionEvent   e){ 
    if(e.getSource()==btn1){ 
    System.out.println("我来收电费了"); 
    }else   if(e.getSource()==btn2){ 
    System.out.println("我来收水费了"); 
    }else   if(e.getSource()==btn3){ 
    System.out.println("我来收燃气费"); 


    public   static   void   main(String[]   args)   

    TestRadioButton   test=new   TestRadioButton(); 
    test.setSize(200,100); 
    test.setVisible(true); 

    } [/code]