I have the following java program that responds to mouse clicks and mouse movements. It is working as I wanted. The code appears below.
import javax.swing.*;
import java.awt.event.*;
public class Z_MouseAndMotionListener extends JPanel {
public Z_MouseAndMotionListener() {
Mouse m = new Mouse();
addMouseListener(m);
addMouseMotionListener(m);
}
class Mouse implements MouseListener, MouseMotionListener{
public void mousePressed(MouseEvent e) {
System.out.println("Pressed");
}
public void mouseMoved(MouseEvent e) {
System.out.println("Moved");
}
public void mouseDragged(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new Z_MouseAndMotionListener());
frame.setVisible(true);
}
}
Now I want to implement keyListener also in the same program.
For that I used the following program(a slightly modified version of the earlier program
displayed above.
import javax.swing.*;
import java.awt.event.*;
public class Z_MouseAndMotionListener1 extends JPanel {
public Z_MouseAndMotionListener1() {
Mouse m = new Mouse();
addMouseListener(m);
addMouseMotionListener(m);
}
class Mouse implements MouseListener, MouseMotionListener{
public void mousePressed(MouseEvent e) {
System.out.println("Pressed");
}
public void mouseMoved(MouseEvent e) {
System.out.println("Moved");
}
public void mouseDragged(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
public class KeyEvents extends JPanel implements KeyListener{
//addKeyListener;
@override
public void keyPressed(KeyEvent ke) {
}
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new Z_MouseAndMotionListener1());
frame.setVisible(true);
}
}
when I try to compile,Iget the error message "Z_MouseAndMotionListener1.java:22: error:
Z_MouseAndMotionListener1.KeyEvents is not abstract and does not override abstract method
keyReleased(KeyEvent) in KeyListener
public class KeyEvents extends JPanel implements KeyListener{
^"
Can someone please help me in implementing mouse and key Listeners?