import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.border.*; 

public class TestJLabel { 
    private static void createAndShowGUI () { 
        JFrame frame = new JFrame("TestJLabel"); 
        frame.setSize(350, 210); 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        JLabel lab = new JLabel("click me"); 
        lab.setBorder(new LineBorder(Color.BLACK)); 
        lab.addMouseListener(new MouseAdapter() { 
            private void say (String methodName, MouseEvent ev) { 
                System.err.println(String.format("%s: (%d,%d)", methodName, ev.getXOnScreen(), ev.getYOnScreen())); 
            } 
            public void mousePressed (MouseEvent ev) { say("mousePressed", ev); } 
            public void mouseReleased (MouseEvent ev) { say("mouseReleased", ev); } 
            public void mouseDragged (MouseEvent ev) { say("mouseDragged", ev); } 
            public void mouseClicked (MouseEvent ev) { say("mouseClicked", ev); } 
            public void mouseMoved (MouseEvent ev) { say("mouseMoved", ev); } 
            public void mouseEntered (MouseEvent ev) { say("mouseEntered", ev); } 
            public void mouseExited (MouseEvent ev) { say("mouseExited", ev); } 
        }); 
        frame.getContentPane().setLayout(new BorderLayout()); 
        frame.getContentPane().add(new JLabel("don't click me"), BorderLayout.NORTH); 
        frame.getContentPane().add(lab, BorderLayout.EAST); 
        frame.getContentPane().add(new JLabel("don't click me either"), BorderLayout.SOUTH); 
        frame.setVisible(true); 
    } 
    public static void main (String[] args) { 
        javax.swing.SwingUtilities.invokeLater(new Runnable() { 
            public void run() { 
                createAndShowGUI(); 
            } 
        }); 
    } 
} 