为我的复选框创建清除/重置按钮(java awt)

时间:2014-03-05 14:10:35

标签: java checkbox awt

import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class quiz2 extends Frame implements ItemListener, ActionListener{
Label label1 = new Label("Please Choose one");
Checkbox sugar = new Checkbox ("Sugar");
Checkbox candy = new Checkbox ("Candy");
Button sum = new Button ("Clear");
public quiz2 (){
    setSize (200,200);
    setLocation (100,100);
    setTitle ("Example");
    setLayout (null);
    setResizable (false);
    setVisible (true);

    label1.setBounds (20,20,120,20);
    add(label1);

    CheckboxGroup sweets = new CheckboxGroup();

    sugar.setBounds(20,40,120,20);
    sugar.addItemListener(this);
    add(sugar);
    candy.setBounds(20,60,120,20);
    candy.addItemListener(this);
    add(candy);
    sum.setBounds(20,80,50,30);
    sum.addActionListener(this);
    add(sum);}
public void itemStateChanged (ItemEvent item){
    if (item.getSource()==sugar){
        if (item.getStateChange()==ItemEvent.SELECTED){
        setTitle ("You clicked sugar");}
        else if (item.getStateChange()==ItemEvent.DESELECTED){
        setTitle("You uncliked sugar");}}
    else if (item.getSource()==candy){
        if (item.getStateChange()==ItemEvent.SELECTED){
        setTitle ("You clicked candy");}
        else if (item.getStateChange()==ItemEvent.DESELECTED){
        setTitle("You uncliked candy");}}}
public void actionPerformed (ActionEvent butt){
    setTitle("Example");
    candy.setSelected(false);
    sugar.setSelected(false);}}

我找到的唯一解决方案是checkbox.setSelected(),它在我的代码中不起作用,我正在使用BlueJ(因为我们学校使用它)。

sum按钮(忘记更改名称)的主要功能是DESELECT sugarcandy,无论是否点击它们。

2 个答案:

答案 0 :(得分:0)

您在CheckBox上调用setSelected(),但CheckBox没有setSelected()方法。您应该使用具有setSelected()方法的Swing JCheckBox,或者您应该调用CheckBox的setState()方法。

API中解释了这一点:http://docs.oracle.com/javase/7/docs/api/java/awt/Checkbox.html

答案 1 :(得分:0)

java.awt.Checkbox类中没有名为setSelected的方法。它叫做setState。

http://docs.oracle.com/javase/7/docs/api/java/awt/Checkbox.html

void java.awt.Checkbox.setState(boolean state) - 将此复选框的状态设置为指定的状态。布尔值true表示“on”状态,false表示“off”状态。

candy.setState(false);
sugar.setState(false);