Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法理解并解决此程序的方法重写错误_Java_Swing_Event Handling_Awt - Fatal编程技术网

Java 无法理解并解决此程序的方法重写错误

Java 无法理解并解决此程序的方法重写错误,java,swing,event-handling,awt,Java,Swing,Event Handling,Awt,错误如下: 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 JBu

错误如下:

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();
}
}

我对AWT不太熟悉,但似乎您有一个非抽象类测试,它没有实现接口MouseListener的抽象方法

您需要实施:

--------------------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

如果你的类是抽象的,你就不需要实现这些方法了,这将由下一个非抽象的子类来完成。

我对AWT不太熟悉,但你似乎有一个非抽象的类测试,它没有实现接口MouseListener的抽象方法

您需要实施:

--------------------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类非抽象类,你必须实现一个接口的所有方法,当然如果你的类实现了这个接口。
因此,将MouseListener接口的未实现方法添加到代码中。但每次都会在同一个按钮上添加一个新的鼠标侦听器。这不是它的使用方式。您可以/应该在同一代码体中实现所有MouseListener方法。删除JButton b中多余的MouseListener添加项。

如果您有一个具体的Java类非抽象类,那么您必须实现接口的所有方法,当然,如果您的类实现了该接口。
因此,将MouseListener接口的未实现方法添加到代码中。但每次都会在同一个按钮上添加一个新的鼠标侦听器。这不是它的使用方式。您可以/应该在同一代码体中实现所有MouseListener方法。删除JButton b中多余的MouseListener添加项。

如果您只想覆盖MouseListener接口的一种方法,可以使用MouseAdapter,如下所示:

mouseClicked(MouseEvent)    
mouseEntered(MouseEvent)
mouseExited(MouseEvent) 
mousePressed(MouseEvent)    
mouseReleased(MouseEvent)

如果您只想覆盖MouseListener接口的一个方法,可以使用MouseAdapter,如下所示:

mouseClicked(MouseEvent)    
mouseEntered(MouseEvent)
mouseExited(MouseEvent) 
mousePressed(MouseEvent)    
mouseReleased(MouseEvent)
要修复这些错误

JButton button = new JButton("Click");
button.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("mouse was clicked");
    }
});
要修复这些错误

JButton button = new JButton("Click");
button.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("mouse was clicked");
    }
});

不相关,但您的类名应该大写,以免与方法混淆。公共类testnotrelated,但是您的类名应该大写,这样就不会与方法混淆。公共类Testthanx buddy也很有用:thanx buddy也很有用: