求问,CheckboxGroup怎么获取标签?

对于下面的程序,为什么选择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();
}

}

红颜莎娜
浏览 308回答 1
1回答

湖上湖

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("我很高兴!");elseSystem.out.println("我很伤心!");}else{//Checkbox cbx=cbg.getSelectedCheckbox();System.out.println(cb.getLabel());}}public static void main(String args[]){new Mm().ggmm();}}
打开App,查看更多内容
随时随地看视频慕课网APP