Ich weiß, dass dies schon einmal gefragt wurde, aber überall, wo ich die Frage sehe, ist die Antwort überhaupt nicht hilfreich ... so geht hier.Implementierungsfehler mit mousemovementListener
ich mit dem Buch Learning Java und es gibt ein Beispiel, das wie folgt aussieht:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class HelloJava2 {
public static void main(String [] args) {
JFrame frame = new JFrame("HelloJava2");
frame.add(new HelloComponent2("Hello, Java!"));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
frame.setVisible(true);
}
}
class HelloComponent2 extends JComponent
implements MouseMotionListener
{
String theMessage;
int messageX = 125;
int messageY = 95;
public HelloComponent2(String message) {
theMessage = message;
addMouseMotionListener(this);
}
public void paintComponent(MouseEvent e) {
// Save the mouse coordinates and paint the message.
messageX = e.getX();
messageY = e.getY();
repaint();
}
public void mouseMoved(MouseEvent e) {
}
}
ich es in den Editor eingegeben haben, aber es gibt mir den Fehler:
HelloJava2.java:15: Fehler: HelloComponent2 nicht abstrakt und überschreibt nicht abstrakte Methode mouseDragged (Mouseevent) in Mouse Klasse HelloComponent2 erstreckt JComponent ^ 1 Fehler
Ich bin völlig neu in dieser Sprache, so dass ich völlig verloren bin bei dem, was Umsetzung bedeutet ... jede Hilfe wird sehr geschätzt!
Vielen Dank für die Beantwortung, endete es ist etwas sehr dumm ... up habe ich die Argumente in paintcomponent, die in der nicht vorhandenen mouseDragged sein sollte; (MouseEvent e) statt (Graphics g) ... Ich muss es beim Kopieren übersprungen haben ... Ich brauchte auch nicht den @Override, nicht sicher, was es tut –
Sie sind willkommen @AgustinFitipaldi. Override-Annotation wird empfohlen, die Gründe werden in dieser [Frage] erläutert (https://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why) – JTejedor