1

現在のブラウザ ウィンドウを印刷するボタンを作成しようとしています。

これは、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 アプリケーションなので、実装方法がよくわかりません。

4

3 に答える 3

6
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 は常にネイティブ メソッド内に配置します。

于 2010-07-06T10:14:56.600 に答える
2

GWT バージョン 1.5 以降、組み込みの print 関数があります。

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

public class PrintHandler implements ClickHandler {
    public void onClick (ClickEvent event) {
            Window.print()
    }
}
于 2013-02-12T16:53:34.730 に答える
0

ここに私の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() )
于 2012-10-01T02:45:59.790 に答える