将 Eclipse 命令绑定/绑定到 swt 按钮

发布于 2024-10-13 04:03:35 字数 94 浏览 4 评论 0原文

在 Eclipse 中,您可以使用菜单贡献来添加将调用命令的工具栏按钮和菜单。除了以编程方式调用命令 onclick 之外,还有什么方法可以对普通 swt 按钮执行此操作吗?

In Eclipse you can use menu contributions to add toolbar buttons and menus that will call a command. Is there any way to do this to normal swt buttons, apart from programmatically calling the command onclick?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

最美的太阳 2024-10-20 04:03:35
button.addSelectionListener(new SelectionAdapter() {

    @Override
    public void widgetSelected(SelectionEvent e) {
        IHandlerService handlerService = (IHandlerService) getSite()
                .getService(IHandlerService.class);
        try {
            handlerService.executeCommand("my command id", null);
        } catch (Exception ex) {
            throw new RuntimeException("command with id \"my command id\" not found");
        }

    }
});
button.addSelectionListener(new SelectionAdapter() {

    @Override
    public void widgetSelected(SelectionEvent e) {
        IHandlerService handlerService = (IHandlerService) getSite()
                .getService(IHandlerService.class);
        try {
            handlerService.executeCommand("my command id", null);
        } catch (Exception ex) {
            throw new RuntimeException("command with id \"my command id\" not found");
        }

    }
});
ˇ宁静的妩媚 2024-10-20 04:03:35

不可以。您必须侦听按钮事件并以编程方式调用命令。

No. You have to listen for the button event and the invoke the command programmatically.

旧故 2024-10-20 04:03:35

您可以在视图或向导中使用 CommandContributionItems,如下所示:

CommandContributionItemParameter param = new CommandContributionItemParameter(getSite(),
            "myCommand", "com.voo.myCommand", CommandContributionItem.STYLE_PUSH);
param.label = "My Label";
CommandContributionItem item = new CommandContributionItem(param);
item.fill(parent);

You can use CommandContributionItems in a View or Wizard like that:

CommandContributionItemParameter param = new CommandContributionItemParameter(getSite(),
            "myCommand", "com.voo.myCommand", CommandContributionItem.STYLE_PUSH);
param.label = "My Label";
CommandContributionItem item = new CommandContributionItem(param);
item.fill(parent);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文