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"))
分享到:
相关推荐
NULL 博文链接:https://a1520708.iteye.com/blog/1258365
JPopupMenu 是 Java Swing 库提供的一个弹出菜单组件,它可以在用户触发事件时显示一个菜单,并允许用户选择其中的选项。
java实现系统托盘,像QQ托盘图标!在托盘处点击退出才退出程序。
NULL 博文链接:https://xhmder.iteye.com/blog/847000
主要介绍了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");是启动本地外观
new JMenuItem("查找下一个(N) "), new JMenuItem("替换(R)... "), new JMenuItem("转到(G)... "), new JMenuItem("全选(A) "), new JMenuItem("时间/日期(D) ") }; private JCheckBoxMenuItem ...
Java实现窗体右键菜单,简约易操作的窗体菜单,这是一个相当易懂的制作实例。 super( "右键弹出菜单" ); //调用父类构造函数 ChangeColorAction action = new ChangeColorAction(); //菜单项事件处理 ...
一步一步地实现菜单栏(JMenuBar)工具栏(JPopupMenu)组合框(JComboBox)复选框(JCheckBox)单选按钮(JRadioButton)文本域的综合应用(三) 源程序
" "(3)、弹出菜单(鼠标右击):应用类JpopupMenu创建一个弹出菜单的实例pm," "并将菜单项itemcopy1,itemcut1,itempaste1,itemqx1依次添加到弹出菜单。 " "(四)、代码分析 " "总体结构概述:程序包括一个公共类...
Swing组件(javax.swing.-) ...弹出式菜单:JPopupMenu 分隔符:JSeparator 对话框:JDialog 帧:JFrame 颜色选择器:JColorChooser 文件选择器:JFileChooser 选项窗格:JOptionPane 补充: 状态栏:StatusBar
swing所有帮助文档 Swing 菜单由 JMenubar、JMenuitem 和 JMenu ...JPopupMenu 可显示在屏幕的任何地方 JCheckBoxMenuItem 和 JRadioButtonMenuItem 用于实现菜单栏中的复选框和单选按钮 JOptionPane 类用于显示对话框
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 文档...
160个项目开发实例,聊天项目,小游戏适和新手学习(项目采用GBK编码)。 import java.util.*; import java.io.*; import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*;...
"简介:\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=...
实现JLabel右键进行响应的操作,摆脱按钮响应,大幅度提高界面的美观
JPopupMenu control_menu = new JPopupMenu(); /* 龄匡虫 */ JMenuItem[] command = new JMenuItem[4]; String[] command_str={"囱", "郎", "弄郎", "秨"}; int[][] dir = { {-1, -1}, {-1, 0}, {-...
popupmenu =new JPopupMenu(); menuItem =new JMenuItem("新建",KeyEvent.VK_N); menuItem.addActionListener(al); popupmenu.add(menuItem); popupmenu.add(new JSeparator()); menuItem =new ...