Java 如何处理checkboxgroup中的项目事件

Java 如何处理checkboxgroup中的项目事件,java,checkbox,applet,awt,itemlistener,Java,Checkbox,Applet,Awt,Itemlistener,我无法处理在小程序中充当单选按钮的checkboxgroup事件。。 每当选中复选框但其不起作用时,我想在小程序上显示一条消息。。 我想在小程序中显示带有标签的复选框状态,每当选中任何复选框时,都会显示复选框的标签和状态…而且复选框的状态不会改变。。。当我点击复选框c2即“否”时,复选框的状态不会改变 import java.awt.*; import java.applet.*; import java.awt.event.*; /*<applet code="chg.class" he

我无法处理在小程序中充当单选按钮的checkboxgroup事件。。 每当选中复选框但其不起作用时,我想在小程序上显示一条消息。。 我想在小程序中显示带有标签的复选框状态,每当选中任何复选框时,都会显示复选框的标签和状态…而且复选框的状态不会改变。。。当我点击复选框c2即“否”时,复选框的状态不会改变

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
/*<applet code="chg.class" height=500 width=600></applet>*/
public class chg extends Applet implements ItemListener
{
    String msg="Current Selection is:";
    Checkbox c1,c2,c3,c4,c5;
    CheckboxGroup cbg;
    public void init()
    {
        cbg=new CheckboxGroup();
        c1=new Checkbox("YES",cbg,true);
        c2=new Checkbox("No",cbg,false);
        c3=new Checkbox("can",cbg,false);
        c4=new Checkbox("cant",cbg,false);
        c5=new Checkbox("ok",cbg,false);
        add(c1);
        add(c2);
        add(c3);
        add(c4);
        add(c5);
    }

    public void itemStateChanged(ItemEvent ie)
    {
        if(ie.getSource()==c2)
        {
            cbg.setSelectedCheckbox(c2);
        }
        else if(ie.getSource()==c3)
        {
            cbg.setSelectedCheckbox(c3);
        }
        else if(ie.getSource()==c4)
        {
            cbg.setSelectedCheckbox(c4);
        }
        else
        {
            cbg.setSelectedCheckbox(c5);
        }
        repaint();
    }
    public void paint(Graphics g)
    { 
        msg+=cbg.getSelectedCheckbox().getLabel();
        g.drawString(msg,6,130);
    }
}
import java.awt.*;
导入java.applet.*;
导入java.awt.event.*;
/**/
公共类chg扩展小程序实现ItemListener
{
String msg=“当前选择为:”;
复选框c1、c2、c3、c4、c5;
CheckboxGroup-cbg;
公共void init()
{
cbg=新的CheckboxGroup();
c1=新复选框(“是”,cbg,真);
c2=新复选框(“否”,cbg,false);
c3=新复选框(“can”、cbg、false);
c4=新复选框(“铁路超高”、cbg、false);
c5=新复选框(“确定”,cbg,false);
添加(c1);
添加(c2);
添加(c3);
添加(c4);
添加(c5);
}
公共无效itemStateChanged(ItemEvent ie)
{
如果(即getSource()==c2)
{
cbg.SETSELECTED复选框(c2);
}
else if(即getSource()==c3)
{
cbg.SETSELECTED复选框(c3);
}
else if(即getSource()==c4)
{
cbg.SETSELECTED复选框(c4);
}
其他的
{
cbg.SETSELECTED复选框(c5);
}
重新油漆();
}
公共空间涂料(图g)
{ 
msg+=cbg.getSelectedCheckbox().getLabel();
g、 抽绳(味精,6130);
}
}

您需要将项目侦听器添加到复选框中

c1.addItemListener(this);
c2.addItemListener(this);
c3.addItemListener(this);
c4.addItemListener(this);
c5.addItemListener(this);
如果不向框中添加itemListener,则无法获取项目事件。

1)为什么要编写小程序?如果是由于老师的特殊要求,请参考。2) 为什么是AWT而不是Swing?关于放弃使用AWT组件的许多好理由,请参见我的答案。