gpt4 book ai didi

java - Action into Submenu 上下文菜单 Java JFace SWT Eclipse

转载 作者:搜寻专家 更新时间:2023-10-31 08:30:00 25 4
gpt4 key购买 nike

我在开发中遇到一个 Eclipse 插件的小问题。

有一个 View ,与花名册 类似。那里有一个用户列表。我的问题是,我想添加一个上下文菜单
这个想法是对用户执行右键单击,菜单应该弹出。到目前为止一切顺利......但问题是我不想要一个菜单​​。我想为该上下文菜单添加一个“设置状态”条目,当将鼠标悬停在该条目上时,菜单应扩展为显示诸如“离开”、“忙碌”、“不可见”等内容……
谁能帮我实现这个目标?

我已经实现了相应的操作并添加到MenuManager

public SessionViewContextMenu(ViewPart sessionView, TableViewer viewer,
final Action action) {

MenuManager manager = new MenuManager("#PopupMenu");

manager.setRemoveAllWhenShown(true);
manager.addMenuListener(new IMenuListener() {

public void menuAboutToShow(IMenuManager manager) {
manager.add(action);
}
});

相应的操作如下所示:

public Action(...) {

super(provider, "Bla Bla");

// some fancy picture
setImageDescriptor(...);

// setId(ACTION_ID);

setToolTipText("Bla Bla");

update();
}

一切正常(至少上下文菜单显示条目)。现在我想在鼠标悬停/选择相应操作时扩展菜单。所以菜单应该扩展并在此处显示更多可能性...
非常感谢任何有关如何创建递归上下文菜单的帮助!

希望您了解问题并毫不犹豫地要求澄清!

最佳答案

只需创建一个子菜单并将操作添加到该子菜单即可。
这是一个应该阐明用法的快速片段:

            // submenu for a specific user
MenuManager subMenu = new MenuManager("Change Status", null);

// Actions for the sub menu
subMenu.add(someAction);

// add the action to the submenu
manager.add(subMenu);

希望对您有所帮助!

放在一起:

public SessionViewContextMenu(ViewPart sessionView, TableViewer viewer,
final Action action) {

MenuManager manager = new MenuManager("#PopupMenu");

manager.setRemoveAllWhenShown(true);
manager.addMenuListener(new IMenuListener() {

public void menuAboutToShow(IMenuManager manager) {
manager.add(action);

// submenu for a specific user
MenuManager subMenu = new MenuManager("Change Status", null);

// Actions for the sub menu
subMenu.add(someAction);

// add the action to the submenu
manager.add(subMenu);
}
});

关于java - Action into Submenu 上下文菜单 Java JFace SWT Eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3692069/

25 4 0