CheckboxGroup怎么获取标签?(java)

对于下面的程序,为什么选择cb2或者cb3时,都是打印出"喜欢."?谁可以帮忙解释一下原因?然后帮修改下,达到目的.(对cb2,cb3分别写代码判断并打印出来的话我会的,... 对于下面的程序,为什么选择cb2或者cb3时,都是打印出"喜欢."?
谁可以帮忙解释一下原因?
然后帮修改下,达到目的.
(对cb2,cb3分别写代码判断并打印出来的话我会的,请考虑一个组中有多个选项时的情况下,不可能写出多个else if 来作判断并打印吧)

import java.awt.*;
import java.awt.event.*;
public class Mm implements ItemListener
{
Checkbox cb1=new Checkbox("你喜欢我吗?",false);
CheckboxGroup cbg=new CheckboxGroup();
Checkbox cb2=new Checkbox("喜欢.",cbg,true);
Checkbox cb3=new Checkbox("不喜欢.",cbg,false);
public void ggmm()
{
Frame f=new Frame("世界如此忙碌,用心的你就会幸福!");
FlowLayout f1=new FlowLayout();
f.setLayout(f1);
f.add(cb1);
f.add(cb2);
f.add(cb3);
cb1.addItemListener(new Mm());
cb2.addItemListener(new Mm());
cb3.addItemListener(new Mm());
f.setBounds(0,0,300,100);
f.setVisible(true);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
e.getWindow().setVisible(true);
((Window)e.getComponent()).dispose();
System.exit(0);
}
});
}

public void itemStateChanged(ItemEvent e)
{
Checkbox cb=(Checkbox)e.getItemSelectable();

if(cb.getLabel().equals("你喜欢我吗?"))
{
if(cb.getState()==true)
System.out.println("我很高兴!");
else
System.out.println("我很伤心!");
}

else
{
Checkbox cbx=cbg.getSelectedCheckbox();
System.out.println(cbx.getLabel());
}
}
public static void main(String args[])
{
new Mm().ggmm();
}

}
展开
 我来答
huli_susey
2006-11-21 · TA获得超过899个赞
知道小有建树答主
回答量:848
采纳率:100%
帮助的人:518万
展开全部
import java.awt.*;
import java.awt.event.*;
public class Mm implements ItemListener
{
Checkbox cb1=new Checkbox("你喜欢我吗?",false);
CheckboxGroup cbg=new CheckboxGroup();
Checkbox cb2=new Checkbox("喜欢.",cbg,true);
Checkbox cb3=new Checkbox("不喜欢.",cbg,false);
public void ggmm()
{
Frame f=new Frame("世界如此忙碌,用心的你就会幸福!");
FlowLayout f1=new FlowLayout();
f.setLayout(f1);
f.add(cb1);
f.add(cb2);
f.add(cb3);
cb1.addItemListener(new Mm());
cb2.addItemListener(new Mm());
cb3.addItemListener(new Mm());
f.setBounds(0,0,300,100);
f.setVisible(true);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
e.getWindow().setVisible(true);
((Window)e.getComponent()).dispose();
System.exit(0);
}
});
}

public void itemStateChanged(ItemEvent e)
{
Checkbox cb=(Checkbox)e.getItemSelectable();

if(cb.getLabel().equals("你喜欢我吗?"))
{
if(cb.getState()==true)
System.out.println("我很高兴!");
else
System.out.println("我很伤心!");
}

else
{
//Checkbox cbx=cbg.getSelectedCheckbox();
System.out.println(cb.getLabel());
}
}
public static void main(String args[])
{
new Mm().ggmm();
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式