java swing制作右键菜单

java swing中如何实现右键菜单呢?

直接上代码:

/*** java
     * 设置弹出菜单
     * @param qrResultLabel
     */
    private void setPopupMenu(JComponent qrResultLabel)
    {
        final MyMenuActionListener myMenuListener=new MyMenuActionListener(this);
        qrResultLabel.addMouseListener(new MouseInputAdapter()
        {

            @Override
            public void mouseReleased(MouseEvent e)
            {
                //                super.mousePressed(e);
                if (e.getButton() == MouseEvent.BUTTON3)
                {
                    JPopupMenu textMenu = new JPopupMenu();
                    JMenuItem cleanUpM = new JMenuItem(MenuUtil2.ACTION_STR_CLEANUP);
                    JMenuItem copy22M = new JMenuItem(
                        MenuUtil2.ACTION_IMAGE_COPY);
                    JMenuItem paste22M = new JMenuItem(
                            MenuUtil2.ACTION_IMAGE_PASTE);
                    JMenuItem enlargeM = new JMenuItem(
                            MenuUtil2.ACTION_ENLARGE);
                    JMenuItem reduceM = new JMenuItem(
                            MenuUtil2.ACTION_REDUCE);
//                    JMenuItem pasteM = new JMenuItem(MenuUtil2.ACTION_STR_PASTE);

                    JMenuItem exportM = new JMenuItem(
                        MenuUtil2.ACTION_STR_EXPORT);
                    JMenuItem readQRCodeM = new JMenuItem(
                            MenuUtil2.ACTION_READ_QR_CODE);
                    copy22M.addActionListener(myMenuListener);
                    cleanUpM.addActionListener(myMenuListener);
                    exportM.addActionListener(myMenuListener);
                    enlargeM.addActionListener(myMenuListener);
                    reduceM.addActionListener(myMenuListener);
                    paste22M.addActionListener(myMenuListener);
                    readQRCodeM.addActionListener(myMenuListener);
                    textMenu.add(cleanUpM);
                    textMenu.add(copy22M);
                    textMenu.add(paste22M);
//                    exportM.add(pasteM);
                    textMenu.add(exportM);
                    textMenu.add(enlargeM);
                    textMenu.add(reduceM);
                    textMenu.add(readQRCodeM);
                    textMenu.show(e.getComponent(), e.getX(), e.getY());
                }
            }

        });

    }

注意:

1,鼠标右键对应的code是:MouseEvent.BUTTON3(3)

2,弹出菜单要使用JPopupMenu

时间: 2024-10-06 08:55:55

java swing制作右键菜单的相关文章

swing 菜单+右键菜单+二级菜单实现

闲话少说直接代码,这里主要用到JMenuBar JMenu,JMenuItem ,JPopupMenu(右键菜单),看文档(javax.swing下)就能轻松学会,界面写的有点乱,但是基本用到了这三个类 import javax.swing.* ; import java.awt.event.* ; class MyMenu { JFrame frame = new JFrame("右键菜单") ; JMenuItem item1 = new JMenuItem("子菜单1&

解决 GTK+/GNOME 3 环境下 Java Swing 程序使用本地 GTK+ 主题时菜单无边框 bug 的方法

在 GTK+/GNOME 3 环境下采用默认的 Adwaita 主题时,Java Swing 程序如果使用本地 GTK+ 主题会出现菜单无边框的 bug,这个问题也可能在其他常用的 GTK+ 主题中出现.说这是 Java Swing 的 bug 还是 GTK+/GNOME 3 的主题(如 Adwaita)的 bug 其实意义不是太大.这里给出一个简单的解决办法,其思路是修改 GTK+/GNOME 3 的主题,这里以系统默认的 Adwaita 主题为例: Adwaita 主题文件位于 /usr/s

Atitit. 悬浮窗口的实现 java swing c# .net c++ js html 的实现

Atitit. 悬浮窗口的实现 java swing c# .net c++ js html 的实现 1. 建立悬浮窗口引用代码 1 1.1. 定义悬浮窗口,设置this主窗口引用,是为了在悬浮窗口中双击可缩小还还原主窗口.以及悬浮窗口右键菜单"显示主界面"中需要还原主窗 1 1.2. //设置主窗口关闭时,先关闭悬浮窗口.and系统托盘 1 1.3. 注入系统托盘图标,退出的时候儿也退出系统托盘 2 2. 悬浮窗口结构and重大的点 2 2.1. 要去掉标题栏: 2 2.2. Opa

Java实现酒店管理系统之Java swing酒店管理系统的实现及源码下载

今天给大家提供一个由Java swing实现的酒店管理系统,数据库采用mysql,我会贴上部分代码,完整的代码请看文章最下方下载,下面看代码: 1.主框架代码: package 主框架窗口; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java

atitit.系统托盘图标的设计java swing c# .net c++ js

atitit.系统托盘图标的实现java swing c# .net c++ js 1. 系统托盘图标的结构 1 2. Java swing的实现 1 3. .net的实现 1 4. C++的实现 1 5. Web js html的实现 2 6. ----code 2 7. 定时监听,每到什么时候就提醒   2 8. 参考 3 1. 系统托盘图标的结构 建立托盘图标, 动态图标不断闪烁... 这个走要用timer实现兰.. 带右键菜单(显示主界面,选项,关于本软件,关于作者,退出) toolti

Java Swing实现具有基本功能的记事本程序

Java Swing实现具有基本功能的记事本 目前实现了: 文件 新建 打开 保存 退出前保存询问 编辑 剪切 复制 粘贴 清除 撤销 格式 字体选择 字体颜色选择 帮助 关于 (样式采用了css与html来描绘) 工具栏 图标形式的: 保存 复制 粘贴 剪切 文字加粗 文字斜体 底部状态栏 文本字数实时统计 日期显示 编码显示(其实是假的哈哈) 右键弹出菜单 复制 粘贴 剪切 工具栏和右键弹出菜单共享了一些图标,特别地,右键弹出菜单使用了鼠标监听器来实时报告鼠标的坐标,从而绘制弹出菜单. 图标

基于Java/Swing技术的KTV包间管理系统的设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘 要 KTV包房管理系统的设计必须考虑众多因素及其相互之间的关联,因此如何选择有效的设计模式是非常重要的.在本系统中,基于Java/Swing技术设计并实现了客户端. 它由模型-视图-控制器(MVC)模式设计而成. 本项目基于Java Swing的窗体布局技术进行软件的窗体布局. 本KTV管理系统是一个功能强大的.可靠的.方便的平台处理KTV包房管理业务. 该系统不仅能提高KTV包房管理的工作效率,另一方面也为客人在预订时提供一种较为

jQuery EasyUI 右键菜单--关闭标签/选项卡

目录结构: noContextMenu.js 文件内容如下: $(function(){ //屏蔽右键菜单 $(document).bind("contextmenu", function(e){ return false; }); }); 效果图: 方式 一: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOC

Linux上Eclipse项目右键菜单没有Maven

在Centos 7上安装了eclipse以后,着实很兴奋.eclipse luna版本自带maven.但是用mvn eclipse:eclipse创建的java工程,在右键菜单居然没有Maven按钮,着实让我郁闷.首先,已经安装了maven插件,可能在某个地方出现问题.经过网上搜集资料,发现应该是没有配置.在windows下的版本就没有这个问题. 解决方法是:右键项目>Configure>>Convert to Maven Project.OK,稍等以下,右键项目,Maven按钮就出来了