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"))
分享到:
相关推荐
弹窗通常是一个JPopupMenu或自定义组件,里面包含匹配到的建议列表。为了实现这一功能,我们需要重写`addKeyListener`或使用`DocumentListener`来捕获输入变化,然后基于输入的文本过滤数据源,生成匹配的建议列表。...
JFrame是大多数Swing应用程序的基础,它代表一个窗口;JPanel可以作为组件的容器,允许自定义布局;JScrollPane则为过大或可滚动的内容提供滚动条;JDialog用于创建弹出式对话框。 3. **布局管理器**:Swing支持...
在Java编程环境中,右键弹出菜单是一种常见的用户交互元素,它为用户提供了一种快捷的操作方式,特别是在桌面应用和图形用户界面(GUI)设计中。本实例源码着重讲解如何在Java中实现这一功能。 首先,Java中的Swing...
对于初学者而言,掌握Swing框架的使用是构建图形用户界面的重要一步,而理解如何组织和管理UI组件则有助于创建高效、美观且易于操作的应用程序界面。通过不断实践和学习,学生能够逐步提升自己的编程技能,为将来...
本章还会涉及如何整合这些元素,创建一个完整的简易记事本程序,并在实训部分提供实际操作的练习,帮助开发者巩固所学知识。 在总结本章内容时,我们强调了如何使用Java Swing库中的JToolBar、JMenu、JMenuItem和...
LCD_Clock_factoryfsz_java_源码是一个基于Java编程语言实现的LCD数字电子时钟项目。这个项目的主要特点是它不仅能够显示当前时间,还具备右键菜单功能,用户可以通过菜单调整LCD显示的颜色,增强了用户体验。在Java...
这通常涉及到初始化一个新的文本组件(如JTextArea或JTextPane),并清除任何现有的文本内容。 4. **文件保存**:编辑器需要提供保存文件的功能,将用户编辑的内容写入磁盘。这通常使用文件输出流...
观察者模式是设计模式之一,用于实现对象之间的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在GUI编程中,监听器就是基于观察者模式实现的。 **监听器** 监听器是实现用户...
Java记事本开发源码是一个非常适合初学者和中级开发者学习的项目,它涵盖了基础的GUI设计、事件处理、文本操作以及文件I/O等关键知识点。在这个项目中,开发者使用Java Swing库来创建一个功能丰富的文本编辑器,具备...
此外,Java Swing中的JPopupMenu或JMenu类是构建下拉菜单的基础,它们可以轻松地附加到按钮或其他组件上,当触发指定事件时弹出。 为了实现伸缩效果,开发者可能需要编写自定义的动画逻辑,这通常涉及使用javax....
OBSERVER模式是Swing中的另一个重要概念,也被称为发布-订阅模式。Swing组件间的事件处理机制就基于此模式,如按钮点击事件、文本框更改事件等。读者将学习到如何使用EventListener和EventObject来实现事件监听和...
“java的小日历”是一个用Java编写的桌面应用程序,旨在提供基本的日历功能,包括但不限于显示当前日期、时间以及记录用户备注。此程序采用Swing库构建GUI界面,使得用户可以直观地与之交互。 ### 2. **Swing组件...
Swing是Java编程语言中用于构建图形用户界面(GUI)的一个工具包,它是Java Foundation Classes (JFC)的一部分。在SwingStudy项目中,我们很显然会深入学习Swing的各种组件、布局管理器以及事件处理机制。让我们详细...