JRadioButton示例

代码:
package MyJava.Base;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class JRadioButtonFrame extends JFrame implements ItemListener

 private JRadioButton r1;
 private JRadioButton r2;
 private JRadioButton r3;
 private JRadioButton r4;
 private JRadioButton r5;
 private JRadioButton r6;
 private JRadioButton r7;
 
 public JRadioButtonFrame(String title)
 { 
  super(title);
  setSize(400,500);
  //获得容器
  Container container=this.getContentPane(); 
  
  //设置布局为6行一列
  container.setLayout(new GridLayout(2,1));
  
  //创建面板一,文字式问卷调查
  JPanel pane=new JPanel(new GridLayout(1,4));
  
  //设置面板标题
  pane.setBorder(BorderFactory.createTitledBorder("你最喜欢的人是谁??"));
     
  //创建选择的选项
  
  r1=new JRadioButton("老婆");
  r2=new JRadioButton("情人");
  r3=new JRadioButton("二奶");
  //创建默认选项
  r4=new JRadioButton("以上都不喜欢",true);
  
  //创建ButtonGroup对象,不然就可以多选了,我们要的时单选
  ButtonGroup bg=new ButtonGroup();
  
  //在ButtonGroup中加入JRadioButton
  bg.add(r1);
  bg.add(r2);
  bg.add(r3);
  bg.add(r4);
  
  //添加到面板
  pane.add(r1);
  pane.add(r2);
  pane.add(r3);
  pane.add(r4);
  
  
  //把面板加入到容器中
  container.add(pane);
  
  //创建面板二,图像式JRadioButton
  
  JPanel pane2=new JPanel(new GridLayout(3,1));
  pane2.setBorder(BorderFactory.createTitledBorder("你最喜欢的明星是谁??"));
  //创建带有Icon的JRadioButton
  r5=new JRadioButton("柳真",new ImageIcon("E://Java//JCreator2.5//picture//liuzhen.jpg"));
  r6=new JRadioButton("全智贤",new ImageIcon("E://Java//JCreator2.5//picture//quan.jpg"));
  r7=new JRadioButton("宋慧乔",new ImageIcon("E://Java//JCreator2.5//picture//song2.jpg"));
  
  
  //创建ButtonGroup对象,不然就可以多选了,我们要的时单选
  ButtonGroup bg2=new ButtonGroup();
  
  //在ButtonGroup中加入JRadioButton
  bg.add(r5);
  bg.add(r6);
  bg.add(r7);
  
  
  r5.addItemListener(this);  
  r6.addItemListener(this);
  r7.addItemListener(this);
  //加入面板
  pane2.add(r5);
  pane2.add(r6);
  pane2.add(r7);
  
  
  //把面板加入到容器中
  container.add(pane2);
 
  
 }
 
 
 public void itemStateChanged(ItemEvent evt)
 { 
  if(evt.getStateChange()==evt.SELECTED)
  { 
   if(evt.getSource()==r5)
    JOptionPane.showMessageDialog(this,"好小子,有眼光,柳真是我偶像","柳真",JOptionPane.OK_OPTION);
   if(evt.getSource()==r6)
    JOptionPane.showMessageDialog(this,"眼光一般,没有柳真好","全知贤",JOptionPane.OK_OPTION);
   if(evt.getSource()==r7)
    JOptionPane.showMessageDialog(this,"眼光一般,没有柳真好","宋慧乔",JOptionPane.OK_OPTION);  
  }
 }
}
public class JRadioButtonDemo

 public static void main(String[] args) throws Exception
 { 
  JRadioButtonFrame frame=new JRadioButtonFrame("JRadioButtonDemo");
  frame.pack();
  frame.setVisible(true);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
 }
}
 
程序运行的结果:
 

 
程序运行时初始状态,注意JRadioButton的单选特性
 

 
选择其中一个选项时弹出对话框

你可能感兴趣的:(Java,Swing)