Myframe 不是抽象的,也不会覆盖抽象方法

Myframe is not abstract and does not override abstract method

我是 Java 编程的新手。我只是在做一个使用复选框 select 性别的程序。但是当我 运行 程序时,我收到一个错误

Myframe is not abstract and does not override abstract method itemStateChanged(ItemEvent) in ItemListener

代码如下

import java.awt.event.*;
class Myframe extends Frame implements ItemListener{
    CheckboxGroup cbg;
    Checkbox chkmale,chkfemale;
    Label lblres;

    void init(){
        cbg = new CheckboxGroup();
        chkmale = new Checkbox();
        chkfemale = new Checkbox();
        lblres = new Label();

        add(chkmale); add(chkfemale); add(lblres);

        this.addWindowListener(new MyListner());
        chkmale.addItemListener(this);
        chkfemale.addItemListener(this);
    }
    public void itemstateChanged(java.awt.event.ItemEvent ie){
        if(chkmale.getState() == true){
            lblres.setText("Male");
        }
        else{
            lblres.setText("Female");
        }
    }
}

这仅仅是因为您错误地实现了 java.awt.event.ItemListener 接口。 它应该是 itemStateChanged 而不是 itemstateChanged:

import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

class Myframe extends Frame implements ItemListener {
    ...

    @Override
    public void itemStateChanged(ItemEvent e) {
        // Your code here.
    }
}

别忘了加上@Override这样就不会忘记方法是实现接口了