java中swing怎么使用for循环控制循环输出个数不确定的单选按钮,并且还要获取选中后的相应的值?

部分代码如下://两个私有属性privateintnum;privateListlist;for(inti=0;i<4;i++){JRadioButtonjrb=newJ... 部分代码如下:
//两个私有属性
private int num;
private List list;

for(int i=0;i<4;i++){
JRadioButton jrb = new JRadioButton();
jrb.setText(list.get(i));
jrb.setBounds(new Rectangle(80, 160+(i*20), 38, 23));
buttonGroup1.add(jrb);
this.getContentPane().add(jrb);
}

这样在窗口中是显示出来了所要显示的内容,但是就是拿不到选中单选按钮的值,
因为每次都使用JRadioButton jrb = new JRadioButton();
导致拿不到值吧,求高手赐教
List<String> list=new ArrayList<String>();
list.add("中国");
list.add("美国");
list.add("印度");
list.add("日本");
list.add("英国");
Test test = new Test();
test.setNum(list.size());
test.setList(list);
String str = test.showFrame();
System.out.println(test.showFrame());
test.setVisible(true);
System.out.println("选中内容 = "+str);
在这只有执行System.out.println(test.showFrame());
才能打印出来,最后一句打印打印不出来,好像是由于初始化的问题
展开
 我来答
百度网友832bd6a
2012-05-09 · TA获得超过1180个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:401万
展开全部
这个很简单。 首先你获得这个 面板上所有的控件。。

Component[] com = this.getComponents();

然后循环所有控件 如果控件 == JRadioButton 的话。 获得radio 的value

if(null != com)
{
for(int i = 0 ; i < com.length; i ++)
{
if(com [i] instanceof JRadioButton )
{
JRadioButton jrb = (JRadioButton ) com [i] ;
jrb.isSelected();

/*这里就可以获得是否选中了。 //如果你想区分 是不是某一个 radio. 或者区分 radio的话, 你可以在添加的 时候 给radio 设置name 可以使用 jrb .setName("radio1"); 在这里就可以根据 jrb .getName();//来判断 控件name 是不是 radio1 了。*/
}
}
}

有问题。可以继续追问。 对你有帮助的话。请及时采纳为答案。
木子VS木杉
2012-05-06
知道答主
回答量:2
采纳率:0%
帮助的人:3194
展开全部
拿不到内容,是因为你没有绑定监听事件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小麦的软件工厂
2012-05-06 · TA获得超过396个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:425万
展开全部
监听器都不加吗.........
用ActionListener 然后在actionPerformed 里面的keyEvent里面有getSource方法可以获取按下的是哪个单选钮
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式