各位大侠,今天我照着书,写了一个程序,如下:
1  import java.awt.*;
2  import java.awt.event.*;
3  import javax.swing.*;
4
5  public class Book_Craps extends JApplet implements ActionListener
6  {
      ……
n  }在编译的时候,第五行报错:
D:\java\Book_Craps.java:15: Book_Craps 不是抽象的,并且未覆盖 java.awt.event.ActionListener 中的抽象方法 actionPerformed(java.awt.event.ActionEvent)可是,明显在第2行,我已经import了java.awt.event.*,不知道这是怎么一回事~
请高手解答,不胜感激~~

解决方案 »

  1.   

    你的类有没有实现actionPerformed方法?
      

  2.   

    如果你实现了一个接口..就必须事先这个接口的所有方法.         你很明显没有实现actionPerformed这个方法.(我强烈的预感怀疑你把这个方法打错了. 建议从api里面copy.)如果你只使用了这个接口的一个方法的话..可以用这个接口的适配器来实现..但是你这个类已经继承别的了.所以就不可以多重继承.
      

  3.   

    如楼上所说肯定是没有实现actionPerformed这个方法了现在用eclipse用惯了,直接就点出来了,很少犯这种错误了。。
      

  4.   

    import是引用包,目的是能够找到ActionListener这个类.
    而你要实现ActionListener接口必须实现它的抽象方法,所以在你的Book_Craps类中必须有一个这样的方法:
    public void actionPerformed(ActionEvent e)
    {
        //add your action code here
    }
      

  5.   

    多谢各位大侠三更半夜的还在帮我解决问题~
    我的程序的框架是这样的:import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class Craps extends JApplet implements ActionListener
    {
        定义变量;
        
        public void init()
        {
           ……
        }
        
        public void actionPerformed(ActionEvent actionEvent)
        {
           ……        
           displayMessage();
        }
        
        public int rollDice()
        {
           ……    
        }
        
        public void displayMessage()
        {
           ……
        }
        
    }在程序里,我有public void actionPerformed(ActionEvent actionEvent){},但是参数不是ActionEvent e
    我使用的是Netbeans,NB为了消除错误,自动添加了这句话:
    public void actionPerformed(ActionEvent e) 
    {
      throw new UnsupportedOperationException("Not supported yet.");
    }
    但是不能实现功能,在熄灯前三分钟赶快发了帖子求助,因为我是教育网,平时打开csdn很慢,只有快要熄灯的时候,大家都关机了,所以才能上来~
    昨晚我重新照着书写了一次,可以运行了,原因正如二楼大哥说的,打错了actionPerformed,但因为熄灯断网,所以没有及时的回帖~再次谢谢各位大侠!