Вы можете добавить, например, MouseListener к любому JComponent, вызвав
addMouseListener()
Существуют различные EventListener, которые вы можете использовать вместо MouseListener
- KeyListener
- WindowListener
- ComponentListener
- ContainerListener
- FocusListener
- ... и многие другие
Check здесь для подробного объяснения
вы можете полностью реализовать интерфейс MouseListener или просто использовать удобный класс MouseAdapter, у которого есть заглушки методов, поэтому вам не нужно реализовывать каждый отдельный метод.
проверьте этот образец:
public class MyFrame extends JFrame {
private MouseListener myMouseListener;
public MyFrame() {
this.setSize(300, 200);
this.setLocationRelativeTo(null);
// create the MouseListener...
myMouseListener = new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("clicked button " + e.getButton() + " on " + e.getX() + "x" + e.getY()); // this gets called when the mouse is clicked.
}
};
// register the MouseListener with this JFrame
this.addMouseListener(myMouseListener);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MyFrame frame=new MyFrame();
frame.setVisible(true);
}
});
}
}