import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class test extends JFrame implements MouseListener
{
JFrame f;
JPanel p;
JButton b;
test()
{
f=new JFrame("My Frame");
p=new JPanel();
f.add(p);
b=new JButton("Button");
p.add(b);
f.setSize(100,100);
f.setVisible(true);
b.addMouseListener(new MouseListener()
{
public void mouseClicked(MouseEvent ae)
{
System.out.print("mouse clicked");
}
});
b.addMouseListener(new MouseListener()
{
public void mouseEntered(MouseEvent ae)
{
System.out.print("mouse Entered");
}
});
b.addMouseListener(new MouseListener()
{
public void mouseExited(MouseEvent ae)
{
System.out.print("mouse Exited");
}
});
b.addMouseListener(new MouseListener()
{
public void mousePressed(MouseEvent ae)
{
System.out.print("mouse Pressed");
}
});
b.addMouseListener(new MouseListener()
{
public void mouseReleased(MouseEvent ae)
{
System.out.print("mouse Released");
}
});
}
public static void main(String args[])
{
new test();
}
}
错误如下:
--------------------Configuration: <Default>--------------------
C:\Users\SHUBHENDU\Documents\test.java:19: <anonymous test$1> is not abstract and does not override abstract method mouseExited(java.awt.event.MouseEvent) in java.awt.event.MouseListener
{
^
C:\Users\SHUBHENDU\Documents\test.java:26: <anonymous test$2> is not abstract and does not override abstract method mouseExited(java.awt.event.MouseEvent) in java.awt.event.MouseListener
{
^
C:\Users\SHUBHENDU\Documents\test.java:33: <anonymous test$3> is not abstract and does not override abstract method mouseEntered(java.awt.event.MouseEvent) in java.awt.event.MouseListener
{
^
C:\Users\SHUBHENDU\Documents\test.java:40: <anonymous test$4> is not abstract and does not override abstract method mouseExited(java.awt.event.MouseEvent) in java.awt.event.MouseListener
{
^
C:\Users\SHUBHENDU\Documents\test.java:47: <anonymous test$5> is not abstract and does not override abstract method mouseExited(java.awt.event.MouseEvent) in java.awt.event.MouseListener
{
^
5 errors
最佳答案
如果您有一个具体的 Java 类(非抽象类),您必须实现接口(interface)具有的所有方法,当然前提是您的类实现了该接口(interface)。
因此,将 MouseListener
接口(interface)的未实现的方法添加到您的代码中。但是您每次都向同一个按钮添加一个新的 MouseListener
。这不是它的使用方式。您可以/应该在同一个代码体中实现所有 MouseListener
方法。 删除 MouseListener
添加到您的 JButton b
中。
关于java - 无法理解和解决此程序的方法覆盖错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9653064/