GWT: кнопка печати - PullRequest
       6

GWT: кнопка печати

1 голос
/ 06 июля 2010

Я пытаюсь создать кнопку, которая печатает текущее окно браузера.

Это мой текущий код, который использует (или хотя бы пытается использовать) 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, поэтому я не уверен, как его реализовать.

Ответы [ 3 ]

6 голосов
/ 06 июля 2010
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 внутри собственного метода.

2 голосов
/ 12 февраля 2013

Начиная с версии 1.5 GWT, есть встроенная функция печати:

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

public class PrintHandler implements ClickHandler {
    public void onClick (ClickEvent event) {
            Window.print()
    }
}
0 голосов
/ 01 октября 2012

Вот мои 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() )
...