当前位置: 首页 > 面试题库 >

在Java JHotDraw中从覆盖的getActions在上下文菜单中创建子菜单

艾令秋
2023-03-14
问题内容

getActions在基于Java的框架中重写了该方法,该框架JHotDraw是在此处托管的一个开源项目。该方法getActions上创建一个右键快捷菜单FigureDrawingview。我可以使用下面的代码正确添加其他上下文菜单选项。我需要知道如何在上下文菜单中添加子菜单。

@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;
}

问题答案:

支持添加子菜单。

该类org.jhotdraw.gui.JPopupButton扩展JButton为提供在整个框架中使用的弹出菜单。该方法add(javax.swing.JMenu submenu)可以用于构造分层子菜单。例如,org.jhotdraw.samples.draw.DrawingPanelZoom子菜单creationToolbar以及其他杂项编辑操作添加到中最右边的弹出菜单。该方法createFontButton()org.jhotdraw.draw.action.ButtonFactory是使用另一示例addFontButtonsTo()编辑器。

相反,右键单击org.jhotdraw.draw.DefaultDrawingView是由javax.swing.JPopupMenuin
的实例处理的org.jhotdraw.draw.DelegationSelectionTool,如中所示org.jhotdraw.samples.mini.EditorSample。特别是,该AbstractAction属性Actions.SUBMENU_KEY标识子菜单名称。设置DEBUG = true以查看效果。目前没有定义。



 类似资料:
  • 问题内容: 让我们来看看, 我知道如何更改ListView的样式(选择项目时为橙色): android:listSelector =“ @ drawable / xxx”和带有位图或@color的可绘制对象 关键是,为了具有一致的设计,我必须对上下文菜单执行相同的操作,但是我看不到在哪里进行更改。没有listSelector,没有任何更改。 问题答案: 如果通过上下文菜单表示长按菜单,那么我已使用

  • 问题内容: AFAIK,Python中没有curses菜单扩展,因此您必须推出自己的解决方案。我知道这个补丁http://bugs.python.org/issue1723038,但我不知道它的当前状态是什么。我在http://www.promisc.org/blog/?p=33上找到了一个很好的Python类,用于包装我想要的“ cmenu”,但我对此也有疑问。我想制作一个菜单,用户可以选择一个

  • 问题内容: 我当前正在通过右键单击实例化并将其位置设置为鼠标位置的位置来创建右键单击上下文菜单。是否有更好的方法? 问题答案: 您可能正在手动调用菜单。这会导致菜单中出现一些令人讨厌的越野车行为。 该方法处理所有需要发生的事情(在鼠标悬停时突出显示事情,并在必要时关闭弹出窗口),其中使用只是显示菜单而无需添加任何其他行为。 要进行右键单击弹出菜单,只需创建一个。 然后,您所要做的就是向要弹出菜单的

  • 默认情况下,Weebly会将jquery函数附加到它的子菜单中,隐藏子菜单并在用户悬停在父菜单元素上时显示它。 有没有人知道有没有办法防止这种情况发生?这都是在可配置的HTML/CSS/JavaScript项加载自定义页面模板之后执行的。 Weebly起初拒绝为自定义模板问题提供帮助。 此URL http://www.base.co/ 当用户悬停在父菜单上时,左侧菜单上的子菜单会受到javascr

  • 从'React'导入React,{useState};//导入useState从'react-native-dropdown-picker'中导入DropDownPicker;从“React-Native”导入{样式表、文本、视图、文本输入、状态条、安全视图、图像、按钮、警报};

  • 这里有一个项目,我需要在WPF应用程序中自定义上下文菜单,其中将在所有MenuItems的底部放置一个按钮。 但是,如果我要通过XAML添加按钮,它将作为集合中的另一项出现在上下文菜单中,鼠标移过高亮显示将作用于它。 我希望有一个上下文菜单调优到网格样的样式,这样我就可以自定义样式下的它。 有什么想法可以实现这一点(最好是在XAML中)吗?