我无法处理在applet中充当单选按钮的checkboxgroup事件。 我想在选择复选框时在applet上显示一条消息,但它不起作用.. 我想在applet中显示一个带有标签的复选框状态,每当选中任何复选框时,它似乎都会显示复选框的标签和状态......复选框的状态也没有改变...当我点击复选框时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);
}
}
答案 0 :(得分:0)
您需要将项目监听器添加到复选框中。
c1.addItemListener(this);
c2.addItemListener(this);
c3.addItemListener(this);
c4.addItemListener(this);
c5.addItemListener(this);
如果不在框中添加itemListener,则无法获取项目事件。