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

时间:2013-09-28 10:26:15

标签: java browser menu swt

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

enter image description here

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

enter image description here

请帮帮我?

1 个答案:

答案 0 :(得分:2)

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

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

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实现您想要添加的其他功能。