【发布时间】:2012-12-02 05:24:00
【问题描述】:
我正在覆盖基于 Java 的框架 JHotDraw 中的 getActions 方法,这是一个托管 here 的开源项目。方法getActions 在Drawingview 中的Figure 上创建一个右键单击上下文菜单。我可以使用下面的代码正确添加额外的上下文菜单选项。我需要知道如何在上下文菜单中添加子菜单。
@Override
public Collection<Action> getActions(Point2D.Double p) {
Collection<Action> popupMenu = new ArrayList<Action>();
popupMenu.add(new AbstractAction("add Context Option 1") {
public void actionPerformed(ActionEvent event) {
preformThisMethod("params");
}
});
popupMenu.add(new AbstractAction("add Context Option 2") {
public void actionPerformed(ActionEvent event) {
preformThisMethod("params");
}
});
// How to add a sub menu to the context menu?
return popupMenu;
}
【问题讨论】:
-
你试过usual approach吗?
-
我希望我可以使用
JPopupMenu方法。我必须使用框架方法{Homework Requirement}。只要我们使用 JHotDraw 框架,我就在软件工程课程中对我们如何实现功能提出了松散的要求。这意味着我需要重写某些方法,例如getActions。我什至不确定是否可以使用 JHotDraw 框架的Action集合方法创建子菜单,这将是实现所需功能的一种非常方便和直观的方式。 -
经过几个小时的努力,我确定考虑到框架的结构处理上下文菜单,子菜单是不可能的。
标签: java swing contextmenu