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的单选特性
 

 
选择其中一个选项时弹出对话框
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值