如何在 Java 中使用子菜单创建 JPopupMenu?
JPopupMenu 是 JComponent 类的子类,它可以在右键点击时出现在屏幕的任意位置。为了创建一个弹出菜单,我们可以使用 JPopupMenu 类。通常,我们可以将 菜单项 添加到 JPopupMenu 中,还可以通过将菜单项先添加到子菜单中,然后将其添加到 JPopupMenu 中,向 JPopupMenu 添加 子菜单 。弹出菜单由鼠标事件触发,因此我们需要注册一个 MouseListener 接口。我们可以重写 mouseReleased() 方法,以便在通过调用 isPopupTrigger() 方法获得适当事件后显示弹出菜单,并通过以鼠标事件坐标作为参数调用其 show() 方法来显示弹出菜单。
示例
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class JPopupMenuwithSubMenuTest extends JFrame {
private JPopupMenu popup;
private JMenu subMenu;
public JPopupMenuwithSubMenuTest() {
setTitle("JPopupMenuwithSubMenu Test");
popup = new JPopupMenu();
subMenu = new JMenu("Course");
subMenu.add("Java");
subMenu.add("Python");
subMenu.add("Scala");
popup.add(new JMenuItem("First Name"));
popup.add(new JMenuItem("Last Name"));
popup.addSeparator();
popup.add(subMenu);
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent me) {
showPopup(me);
}
}) ;
setSize(400, 275);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
void showPopup(MouseEvent me) {
if(me.isPopupTrigger())
popup.show(me.getComponent(), me.getX(), me.getY());
}
public static void main(String args[]) {
new JPopupMenuwithSubMenuTest();
}
}输出
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP