As a seasoned provider of Swing systems, I often encounter developers and enthusiasts who are looking to enhance their Swing applications. One common task is adding a menu item to a menu in a Swing application. In this blog post, I’ll guide you through the step-by-step process of achieving this, sharing my insights based on years of experience in the field. Swing System

Understanding the Basics of Swing Menus
Before we dive into adding a menu item, it’s essential to understand the fundamental components of a Swing menu. A Swing menu is a hierarchical structure that consists of a JMenuBar, JMenu, and JMenuItem. The JMenuBar is the top-level container that holds one or more JMenu objects. Each JMenu can contain multiple JMenuItem objects or even sub-menus.
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SwingMenuExample {
public static void main(String[] args) {
// Create a JFrame
JFrame frame = new JFrame("Swing Menu Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
// Create a JMenuBar
JMenuBar menuBar = new JMenuBar();
// Create a JMenu
JMenu fileMenu = new JMenu("File");
// Create a JMenuItem
JMenuItem openMenuItem = new JMenuItem("Open");
// Add the JMenuItem to the JMenu
fileMenu.add(openMenuItem);
// Add the JMenu to the JMenuBar
menuBar.add(fileMenu);
// Set the JMenuBar for the JFrame
frame.setJMenuBar(menuBar);
// Make the frame visible
frame.setVisible(true);
}
}
In this example, we create a simple Swing application with a JFrame, a JMenuBar, a JMenu, and a JMenuItem. The JMenuItem is added to the JMenu, and the JMenu is added to the JMenuBar. Finally, the JMenuBar is set for the JFrame.
Adding a Menu Item to an Existing Menu
Now that we have a basic understanding of Swing menus, let’s explore how to add a menu item to an existing menu. Suppose we have an existing menu with some menu items, and we want to add a new menu item to it.
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class AddMenuItemExample {
public static void main(String[] args) {
// Create a JFrame
JFrame frame = new JFrame("Add Menu Item Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
// Create a JMenuBar
JMenuBar menuBar = new JMenuBar();
// Create a JMenu
JMenu fileMenu = new JMenu("File");
// Create existing menu items
JMenuItem openMenuItem = new JMenuItem("Open");
JMenuItem saveMenuItem = new JMenuItem("Save");
// Add existing menu items to the JMenu
fileMenu.add(openMenuItem);
fileMenu.add(saveMenuItem);
// Create a new menu item
JMenuItem newMenuItem = new JMenuItem("New");
// Add the new menu item to the JMenu
fileMenu.add(newMenuItem);
// Add the JMenu to the JMenuBar
menuBar.add(fileMenu);
// Set the JMenuBar for the JFrame
frame.setJMenuBar(menuBar);
// Make the frame visible
frame.setVisible(true);
}
}
In this example, we first create an existing menu with two menu items: "Open" and "Save". Then, we create a new menu item called "New" and add it to the existing menu. Finally, we add the menu to the menu bar and set the menu bar for the frame.
Adding a Sub-Menu
In addition to adding regular menu items, you can also add sub-menus to a menu. A sub-menu is a JMenu object that is added to another JMenu object.
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SubMenuExample {
public static void main(String[] args) {
// Create a JFrame
JFrame frame = new JFrame("Sub Menu Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
// Create a JMenuBar
JMenuBar menuBar = new JMenuBar();
// Create a main menu
JMenu fileMenu = new JMenu("File");
// Create a sub-menu
JMenu recentFilesMenu = new JMenu("Recent Files");
// Create menu items for the sub-menu
JMenuItem file1MenuItem = new JMenuItem("File 1");
JMenuItem file2MenuItem = new JMenuItem("File 2");
// Add menu items to the sub-menu
recentFilesMenu.add(file1MenuItem);
recentFilesMenu.add(file2MenuItem);
// Add the sub-menu to the main menu
fileMenu.add(recentFilesMenu);
// Add the main menu to the JMenuBar
menuBar.add(fileMenu);
// Set the JMenuBar for the JFrame
frame.setJMenuBar(menuBar);
// Make the frame visible
frame.setVisible(true);
}
}
In this example, we create a main menu called "File" and a sub-menu called "Recent Files". We then create two menu items for the sub-menu and add them to the sub-menu. Finally, we add the sub-menu to the main menu and the main menu to the menu bar.
Handling Menu Item Events
When a user clicks on a menu item, you may want to perform some action. To handle menu item events, you can add an ActionListener to the menu item.
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MenuItemEventExample {
public static void main(String[] args) {
// Create a JFrame
JFrame frame = new JFrame("Menu Item Event Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
// Create a JMenuBar
JMenuBar menuBar = new JMenuBar();
// Create a JMenu
JMenu fileMenu = new JMenu("File");
// Create a JMenuItem
JMenuItem openMenuItem = new JMenuItem("Open");
// Add an ActionListener to the JMenuItem
openMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(frame, "You clicked the Open menu item.");
}
});
// Add the JMenuItem to the JMenu
fileMenu.add(openMenuItem);
// Add the JMenu to the JMenuBar
menuBar.add(fileMenu);
// Set the JMenuBar for the JFrame
frame.setJMenuBar(menuBar);
// Make the frame visible
frame.setVisible(true);
}
}
In this example, we add an ActionListener to the "Open" menu item. When the user clicks on the menu item, a message dialog is displayed.
Conclusion
Adding a menu item to a menu in a Swing application is a straightforward process. By understanding the basic components of a Swing menu and following the steps outlined in this blog post, you can easily enhance your Swing applications with custom menus and menu items.

If you’re looking for a reliable Swing system provider to help you with your Swing development needs, look no further. Our team of experts has extensive experience in developing Swing applications and can provide you with the support and guidance you need. Whether you’re a small startup or a large enterprise, we can tailor our solutions to meet your specific requirements.
Swing System Contact us today to discuss your project and learn more about how we can help you take your Swing applications to the next level.
References
- "Java Swing Tutorial" by Oracle
- "Effective Java" by Joshua Bloch
Shanxi Vavi Wear Parts Co., Ltd
We’re professional swing system manufacturers and suppliers in China. If you’re going to buy customized swing system, welcome to get quotation from our factory. Quality products and low price are available.
Address: 200 meters north of Jindun Road, Economic and Technological Development Zone, Yuanping City, Xinzhou City, Shanxi Province, China
E-mail: vavi@vavicorp.com
WebSite: https://www.vavicorp-en.com/