2014-03-05 31 views
0
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的(因为我们学校使用它)。创建我的复选框清除/复位按钮(Java AWT)

按钮sum的主要功能(忘记更改名称)是DESELECTsugarcandy无论他们是否被点击。

+2

为什么setSelected()不能为你工作? –

+0

我真的不明白它,但程序说“找不到符号 - 方法setSelected(布尔)” – jansuke

+0

啊,我明白了。答案如下。 –

回答

0

没有在java.awt.Checkbox中的类调用的setSelected方法。它被称为setState。

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

无效java.awt.Checkbox.setState(布尔州) - 将此复选框为指定的状态的状态。布尔值true表示“开启”状态,而false表示“关闭”状态。

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