当前位置: 首页 > 知识库问答 >
问题:

SWT浏览器控件右键单击弹出菜单功能调用按钮单击

锺离嘉茂
2023-03-14

我在我的项目中实现了一个SWT浏览器来显示HTML页面。当用户右键点击该浏览器时,它会显示一个弹出菜单,具有“打印”、“打印视图”等功能。如果我把按钮放在工具栏上,可以用单独的按钮来完成吗?

浏览器控件的另一个功能是使用“Ctrl F”,这会带来一个查找对话框。这个对话可以用按钮来调用吗?

请帮帮我?

共有1个答案

梁丘德寿
2023-03-14

您可以通过在按下Button时执行JavaScript来实现其中的一些目标。

下面是打印对话框的示例:

public static void main(String[] args)
{
    Display display = Display.getDefault();
    final Shell shell = new Shell(display);
    shell.setText("StackOverflow");
    shell.setLayout(new GridLayout(1, false));

    final Browser browser = new Browser(shell, SWT.NONE);
    browser.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Button button = new Button(shell, SWT.PUSH);
    button.setText("Search");

    button.addListener(SWT.Selection, new Listener()
    {
        @Override
        public void handleEvent(Event arg0)
        {
            browser.execute("window.print()");
        }
    });

    shell.pack();
    shell.setSize(600, 400);
    shell.open();
    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

只需在网上搜索如何使用javascript实现您想要添加的其他功能。

 类似资料:
  • 使用任何按钮都可以触发一个弹出菜单,只需要把它放置在一个.btn-group中,并提供适当的弹出菜单标记。 插件依赖 按钮弹出菜单需要你的Bootstrap中调用了弹出菜单插件。 内容 单按钮弹出菜单 通过一些基本的标记变化,将一个按钮变成一个弹出菜单。 <!-- Single button --> <div class="btn-group"> <button type="button"

  • 如何在swt中区分右键单击和左键单击弹出菜单? 通过添加SelectionListener,我可以在左键和右键上进行操作,但我如何知道使用了哪一个呢?有可能在菜单上安装鼠标听筒吗? 我想做的类似于浏览器的收藏夹菜单,左键单击选择,右键单击选择收藏夹关联菜单。 澄清一下:抱歉,没有包含屏幕截图,但是我想你可以明白我的意思,如果你遵循这个描述。 在Windows资源管理器(或任何其他浏览器)中选择“收

  • 问题内容: 我想知道是否有最佳实践/正确的方法来为React组件设置右键菜单。 我目前有这个… 可以,但是感觉有点混乱,我想知道是否还有其他方法可以使用,任何信息将不胜感激, 谢谢! 问题答案: 更新: 想通了-这是您可以做的 在渲染中,您可以将函数传递给onContextMenu,以使该react组件发生右键单击。

  • 问题内容: 如何在SWT树中的树项上添加右键单击弹出菜单。每个树项目都应在其上启用右键 问题答案: 只需使用。 你去了:

  • 按钮功能 A300 有五个按钮,根据使用情况有不同功能。请查看以下图表了解各个按钮在不同模式中具有的功能。 实用建议 在任何视图中(除训练期间外),按 上、下开始或 返回打开以调暗背光。如果要开启明亮背光,请按 灯光按钮。 要将按钮锁定或解锁,请在时间视图中或训练时长按“灯光”。 长按时间视图中的“向上”可更改时钟画面。 长按时间视图中的“返回”可使 A300 与 Flow 应用程式同步。 长按“

  • 我在我的网站上有一个按钮,允许用户通过Yodlee/Plaid使用弹出的登录屏幕登录到他们的银行。问题是弹出窗口被safari和chrome手机屏蔽了。弹出窗口在桌面上工作。我读到过safari和chrome会阻止所有弹出窗口,如果用户没有点击按钮启动弹出窗口,或者弹出窗口从点击事件开始超过一秒。 我的问题是,在启动弹出窗口之前,我的前端必须调用我的后端来检索令牌。所有这些都需要超过一秒钟的时间,