user3033786
user3033786

Reputation:

MouseAdapter vs MouseListener

I have a quick question about java. Why this DOES work:

list.addMouseListener(new MouseListener() {

    public void mouseClicked(MouseEvent e) {
    // TODO Auto-generated method stub
        System.out.println("Mouse click.");
    }

    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub

    }

});

but this doesn't:

list.addMouseListener(new MouseAdapter(){
    public void mouseClick(MouseEvent e) {
        System.out.println("Mouse click.");
    }
});

Thanks for answer in advance.

PS I had to add more text because that annoying post-adding-script won't let me as my post is mostly code.

Upvotes: 0

Views: 2674

Answers (2)

iviorel
iviorel

Reputation: 312

The abstract class MouseAdapter implements the MouseListener interface along with:

public void **mouseClicked**(MouseEvent e) {}

and not:

public void **mouseClick**(MouseEvent e)

This way should work:

list.addMouseListener(new MouseAdapter(){
    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("Mouse click.");
    }
});

Upvotes: 0

TuanDT
TuanDT

Reputation: 1667

It's

mouseClicked
not
mouseClick
Small spelling mistake?

Upvotes: 7

Related Questions