GWT:打印按钮

发布于 2024-09-08 07:36:25 字数 490 浏览 7 评论 0原文

我正在尝试创建一个打印当前浏览器窗口的按钮。

这是我当前的代码,它使用(或至少尝试使用)JSNI:

private Button print = new Button(constants.print(), new ClickHandler() {
    @Override
    public void onClick(final ClickEvent event) {
        /*-{
            if ($wnd.print) { 
                $wnd.print(); 
                return true; 
            } else { 
                return false; 
            } 
        }-*/
    }           
});

但是当我单击按钮时,没有任何反应。这是我的第一个 GWT 应用程序,所以我不确定如何实现它。

I am trying to create a button that prints the current browser window.

This is my current code, that uses (or at least it tries to use) JSNI:

private Button print = new Button(constants.print(), new ClickHandler() {
    @Override
    public void onClick(final ClickEvent event) {
        /*-{
            if ($wnd.print) { 
                $wnd.print(); 
                return true; 
            } else { 
                return false; 
            } 
        }-*/
    }           
});

But when I click the button, nothing happens. It is my first GWT application, so I am not sure about how to implement it.

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

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

发布评论

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

评论(3

遗忘曾经 2024-09-15 07:36:26
new Button(constants.print(),  new ClickHandler() {
        @Override
        public void onClick(final ClickEvent event) {
           print();
        }

        private native boolean print( ) /*-{
            if ($wnd.print) { 
                 $wnd.print(); 
                 return true; 
            } else { 
                 return false; 
            } 
        }-*/;  });

应该有效!始终将 JSNI 放置在本机方法中。

new Button(constants.print(),  new ClickHandler() {
        @Override
        public void onClick(final ClickEvent event) {
           print();
        }

        private native boolean print( ) /*-{
            if ($wnd.print) { 
                 $wnd.print(); 
                 return true; 
            } else { 
                 return false; 
            } 
        }-*/;  });

Should work! Always place JSNI within a native method.

禾厶谷欠 2024-09-15 07:36:26

从 GWT 1.5 版本开始,有一个内置的打印功能:

import com.google.gwt.user.client.Window

public class PrintHandler implements ClickHandler {
    public void onClick (ClickEvent event) {
            Window.print()
    }
}

Since GWT version 1.5, there's a built-in print function:

import com.google.gwt.user.client.Window

public class PrintHandler implements ClickHandler {
    public void onClick (ClickEvent event) {
            Window.print()
    }
}
一抹苦笑 2024-09-15 07:36:26

这是我的 2 美分:

创建一个可重用的类:

public class PrintHandler implements ClickHandler {

public void onClick (ClickEvent event) {
    print();
}

private native boolean print ()
/*-{
    if ($wnd.print) {
        $wnd.print();
        return true;
    } else {
        return false;
    }
}-*/;
}

并在您喜欢的任何地方使用它:

new Button( constants.print(), new PrintHandler() )

Here is my 2 cents:

Create a re-usable class:

public class PrintHandler implements ClickHandler {

public void onClick (ClickEvent event) {
    print();
}

private native boolean print ()
/*-{
    if ($wnd.print) {
        $wnd.print();
        return true;
    } else {
        return false;
    }
}-*/;
}

And use it anywhere you like:

new Button( constants.print(), new PrintHandler() )
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文