Right-click event in Java Swing
In this tutorial, you are going to learn the Java program to perform right-click event in Java Swing.
Perform Right-click event in Java Swing
In Java Swing, this event is performed using a mouse listener i.e. the ‘MouseAdapter’ class. This provides a default implementation for the ‘MouseListener’ and ‘MouseMotionListener’ interfaces. We are going to write a program where, when a right-click is given, it is going to ask to select an option.
Steps:
- Create the JFrame and JPanel for creating a main window and to detect the right-click respectively.
- Then create a Popup Menu so that a popup will appear with options when a right-click is detected.
- Add the Mouse Listener i.e. MouseAdapter to handle mouse events.
Mouse Listener: A Mouse Listener is used to handle the mouse events. In this two mwthods namely ‘mousePressed’ and ‘mouseReleased’ are used to check the event is a popup trigger or not. If this method returs true then a popup will appear.
Java program is as follows:
import javax.swing.*;
import java.awt.event.*;
public class CodeSpeedy {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("Right-click event");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.add(panel);
JPopupMenu popupMenu = new JPopupMenu();
JMenuItem menuItem1 = new JMenuItem("Hey");
JMenuItem menuItem2 = new JMenuItem("Hello");
popupMenu.add(menuItem1);
popupMenu.add(menuItem2);
panel.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger()) {
showPopup(e);
}
}
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
showPopup(e);
}
}
private void showPopup(MouseEvent e) {
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
});
frame.setSize(400, 300);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}Output:

After a right click is given, it will detect the right-click and display the following options

Leave a Reply