很简单的代码,可编译提示我class checker 需要抽象定义

解决方案 »

  1.   

    你没有实现 void itemStateChanged(ItemEvent e)
      

  2.   

       那是因为你实现了ItemListener接口,却没有对ItemListener中的itemStateChanged(ItemEvent evt)方法进行重载.你只要把public void actionPerformed(ActionEvent event)该为:public void itemStateChanged(ItemEvent event)就没问题了.
        
      

  3.   

    按你程序的意思,只需要
    把 public class checker extends Applet implements ItemListener
    改为 public class checker extends Applet implements ActionListener
    就可以了
      

  4.   

    那这个问题出在哪里?import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;public class sandwich extends Applet{
    Menu Panel1;
    Ingredients Panel2;
    public void init(){
    setLayout(new GridLayout(1,2));
    Panel1 = new Menu();
    add(Panel1);
    Panel2 = new Ingredients();
    Panel1.sandwich1.addItemListener(this);
    Panel1.sandwich2.addItemListener(this);
    Panel1.sandwich3.addItemListener(this);
    add(Panel2);
    }
    }
    public void itemStateChanged(ItemEvent event){
    if(event.getItemSelectable() == Panel1.Sandwich1){
    panel2.Ingredient1.setState(true);
    panel2.Ingredient2.setState(false);
    panel2.Ingredient3.setState(true);
    panel2.Ingredient4.setState(false);
    panel2.pricebox.setText("price: $2.95");
    }
    if(event.getItemSelectable() == Panel1.Sandwich2){
    panel2.Ingredient1.setState(false);
    panel2.Ingredient2.setState(true);
    panel2.Ingredient3.setState(true);
    panel2.Ingredient4.setState(true);
    panel2.pricebox.setText("price: $2.95");
    }
    if(event.getItemSelectable() == Panel1.Sandwich3){
    panel2.Ingredient1.setState(true);
    panel2.Ingredient2.setState(true);
    panel2.Ingredient3.setState(true);
    panel2.Ingredient4.setState(true);
    panel2.pricebox.setText("price: $4.00");
    }}class Menu extends Panel{
    CheckboxGroup CGroup;
    Checkbox sandwich1,sandwich2,sandwich3;
    TextField Pricebox;

    Menu(){
    CGroup = new CheckboxGroup();
    add(sandwich1 = new Checkbox("Sandwich 1",CGroup,false));
    add(sandwich2 = new Checkbox("Sandwich 2",CGroup,false));
    add(sandwich3 = new Checkbox("Sandwich 3",CGroup,false));
    Pricebox = new TextField(15);
    add(Pricebox);
    }
    }class Ingredients extends Panel{
    checkbox Ingredient1,Ingredient2,Ingredient3,Ingredient4; Ingredients(){
    add(Checkbox Ingredient1 = new Checkbox("turkey"));
    add(Checkbox Ingredient2 = new Checkbox("r.beef"));
    add(Checkbox Ingredient3 = new Checkbox("pickle"));
    add(Checkbox Ingredient4 = new Checkbox("tomato"));
    }
    }
      

  5.   

    编译提示设置状态代码段中的FALSE是未定义的变量,是为什么?