What is wrong with the following code Give two effective way

What is wrong with the following code? Give two effective ways to fix it.

1 import javax.swing.*;
2 import java.awt.event.*;
3
4 public class H2ClassJ extends JFrame {
5    public static final long serialVersionUID = 22;
6
7 public H2ClassJ () {
8      addMouseListener (new MouseListener () {
9    public void mouseClicked (MouseEvent e) {}
10     });
11   } // end constructor
12
13 } // end class H2ClassJ

Solution

wrong:-

The listener interface MouseListener has 5 abstract methods.So the class H2ClassJ must be declared abstract or it must implement all abstract methods of MouseListener interface
the methods are
public void mouseClicked (MouseEvent e) {}
public void mousePressed (MouseEvent e)
public void mouseReleased (MouseEvent e) {}
public void mouseEntered (MouseEvent e) {}
public void mouseExited (MouseEvent e) {}
But only mouseClicked is implemented.
solution:
To fix the problem
1. implement all methods (as above)
2. Use an Adapter class(MouseAdapter) and implement public void mouseClicked (MouseEvent e) method

Example -1 : for solution-1

import javax.swing.*;
import java.awt.event.*;

public class H2ClassJ extends JFrame {
public static final long serialVersionUID = 22;

public H2ClassJ () {
addMouseListener (new MouseListener () {
public void mouseClicked (MouseEvent e) {}
public void mousePressed (MouseEvent e) {}
public void mouseReleased (MouseEvent e) {}
public void mouseEntered (MouseEvent e) {}
public void mouseExited (MouseEvent e) {}

});
} // end constructor

} // end class H2ClassJ

Example-2:for solution-2 :just replace MouseListener with MouseAdapter

import javax.swing.*;
import java.awt.event.*;

public class H2ClassJ extends JFrame {
public static final long serialVersionUID = 22;

public H2ClassJ () {
addMouseListener (new MouseAdapter() {
public void mouseClicked (MouseEvent e) {}


});
} // end constructor

} // end class

What is wrong with the following code? Give two effective ways to fix it. 1 import javax.swing.*; 2 import java.awt.event.*; 3 4 public class H2ClassJ extends J
What is wrong with the following code? Give two effective ways to fix it. 1 import javax.swing.*; 2 import java.awt.event.*; 3 4 public class H2ClassJ extends J

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site