为了账号安全,请及时绑定邮箱和手机立即绑定

求问,CheckboxGroup怎么获取标签?

求问,CheckboxGroup怎么获取标签?

红颜莎娜 2021-06-22 18:14:22
对于下面的程序,为什么选择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("我很高兴!");elseSystem.out.println("我很伤心!");}else{Checkbox cbx=cbg.getSelectedCheckbox();System.out.println(cbx.getLabel());}}public static void main(String args[]){new Mm().ggmm();}}
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

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();
}

}



查看完整回答
反对 回复 2021-06-26
  • 1 回答
  • 0 关注
  • 307 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信