`

构建一个易于管理的JPopupMenu

    博客分类:
  • Java
 
阅读更多

1,构建一个Action

public Action bind(String name, final Action action, String iconUrl) {
                return new AbstractAction(name, (iconUrl != null) ? new ImageIcon(
                                BasicGraphEditor.class.getResource(iconUrl)) : null) {
                        public void actionPerformed(ActionEvent e) {
                                action.actionPerformed(new ActionEvent(getGraphComponent(), e
                                                .getID(), e.getActionCommand()));
                        }
                };
        }

 其中name为menu名,action为具体的操作行为,iconUrl当要显示操作图片前缀或者后缀的时候才需要。

2,上面的action参数构造方法可以参考

public static class HistoryAction extends AbstractAction
        {

                /**
                 * 
                 */
                protected boolean undo;

                /**
                 * 
                 */
                public HistoryAction(boolean undo)
                {
                        this.undo = undo;
                }

                /**
                 * 
                 */
                public void actionPerformed(ActionEvent e)
                {
                        BasicGraphEditor editor = getEditor(e);

                        if (editor != null)
                        {
                                if (undo)
                                {
                                        editor.getUndoManager().undo();
                                }
                                else
                                {
                                        editor.getUndoManager().redo();
                                }
                        }
                }
        }

 

3,添加到JPopupMenu中去

JPopupMenu.add(...bind("name", new HistoryAction(), "/com/icon.jpg"))
 
分享到:
评论

相关推荐

    swing JPopupMenu 单击按钮弹出 例子下载

    NULL 博文链接:https://a1520708.iteye.com/blog/1258365

    java swing-JPopupMenu的使用

    JPopupMenu 是 Java Swing 库提供的一个弹出菜单组件,它可以在用户触发事件时显示一个菜单,并允许用户选择其中的选项。

    java实现系统托盘

    java实现系统托盘,像QQ托盘图标!在托盘处点击退出才退出程序。

    swing系统托盘示例

    NULL 博文链接:https://xhmder.iteye.com/blog/847000

    Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例

    主要介绍了Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例,需要的朋友可以参考下

    旅店管理系统界面-手工书写

    手工写的旅店管理系统界面。 import java.awt.Color; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt....

    糗事百科的精简版客户端

    糗事百科的精简版客户端 有TimerTask JFame JPopupMenu JScrollPane JOptionPane的用法. UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");是启动本地外观

    仿windows的记事本java基本实现

    new JMenuItem("查找下一个(N) "), new JMenuItem("替换(R)... "), new JMenuItem("转到(G)... "), new JMenuItem("全选(A) "), new JMenuItem("时间/日期(D) ") }; private JCheckBoxMenuItem ...

    Java实现窗体右键菜单.rar

    Java实现窗体右键菜单,简约易操作的窗体菜单,这是一个相当易懂的制作实例。  super( "右键弹出菜单" ); //调用父类构造函数  ChangeColorAction action = new ChangeColorAction(); //菜单项事件处理  ...

    java swing综合程序

    一步一步地实现菜单栏(JMenuBar)工具栏(JPopupMenu)组合框(JComboBox)复选框(JCheckBox)单选按钮(JRadioButton)文本域的综合应用(三) 源程序

    基于JAVA的记事本设计报告.doc

    " "(3)、弹出菜单(鼠标右击):应用类JpopupMenu创建一个弹出菜单的实例pm," "并将菜单项itemcopy1,itemcut1,itempaste1,itemqx1依次添加到弹出菜单。 " "(四)、代码分析 " "总体结构概述:程序包括一个公共类...

    Swing组件下载(常用组件)

    Swing组件(javax.swing.-) ...弹出式菜单:JPopupMenu 分隔符:JSeparator 对话框:JDialog 帧:JFrame 颜色选择器:JColorChooser 文件选择器:JFileChooser 选项窗格:JOptionPane 补充: 状态栏:StatusBar

    swing所有帮助文档

    swing所有帮助文档 Swing 菜单由 JMenubar、JMenuitem 和 JMenu ...JPopupMenu 可显示在屏幕的任何地方 JCheckBoxMenuItem 和 JRadioButtonMenuItem 用于实现菜单栏中的复选框和单选按钮 JOptionPane 类用于显示对话框

    javaSE代码实例

    1.4 第一个Java程序 8 1.4.1 开发源代码 8 1.4.2 编译运行 9 1.5 小结 11 第2章 基本数据类型——构建Java 大厦的基础 12 2.1 源代码注释 12 2.1.1 单行注释 12 2.1.2 区域注释 12 2.1.3 文档...

    经典java小程序源代码合集.zip

    160个项目开发实例,聊天项目,小游戏适和新手学习(项目采用GBK编码)。 import java.util.*; import java.io.*; import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*;...

    用java编写的记事本,基本功能都实现了啊!

    "简介:\n 一个简单的文字编辑器\n" + " 可作为验收Java的实现对象\n" + " 欢迎网友下载研究交流\n\n" + " /", "关于JNotePad", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null,...

    小型简单的记事本程序

    m26=new JMenuItem("查找下一个 "); m26.addActionListener(this); KeyStroke keyfn=KeyStroke.getKeyStroke(KeyEvent.VK_F3,0); m26.setAccelerator(keyfn); m26.setEnabled(false); JMenuItem m27=...

    在JTable上添加右键菜单

    实现JLabel右键进行响应的操作,摆脱按钮响应,大幅度提高界面的美观

    java五子棋源码

    JPopupMenu control_menu = new JPopupMenu(); /* 龄匡虫 */ JMenuItem[] command = new JMenuItem[4]; String[] command_str={"囱", "郎", "弄郎", "秨"}; int[][] dir = { {-1, -1}, {-1, 0}, {-...

    JAVA编程计算器和记事本.rar

    popupmenu =new JPopupMenu(); menuItem =new JMenuItem("新建",KeyEvent.VK_N); menuItem.addActionListener(al); popupmenu.add(menuItem); popupmenu.add(new JSeparator()); menuItem =new ...

Global site tag (gtag.js) - Google Analytics