Как программно вызвать onBrowserEvent() EditTextCell из Javascript?

Как вызвать onBrowserEvent для EditTextCell программно из Javascript?

Я переопределяю onBrowserEvent в моем customEditTextCell, который вызывается, когда пользователь нажимает на ячейку. Я также хочу позвонить с другого мероприятия.

public void onBrowserEvent(Context context, Element parent, String value,
        NativeEvent event, ValueUpdater<String> valueUpdater) { 
     // my custom code is here
   }

Когда я нажимаю ячейку, вызывается вышеуказанный метод и открывается 1 всплывающее окно jQuery (сборщик). Во всплывающем окне jQuery присутствует кнопка Готово.

При нажатии кнопки "Готово" я хочу вызвать указанный выше метод gwt-java. Как это сделать?

Я знаю, что мы можем вызвать метод java-gwt из Javascript, но у меня возникла проблема при передаче таких параметров, как контекст, родитель, значение, событие, значениеUpdater.

Как передать параметр context, parent, value, event, valueUpdater из Javascript в метод gwt-java?

В моем onmodule я вызвал registerOnBrowserEventForDateTimePicker() и написал следующий метод: что не так, компиляция gwtc не удалась, пожалуйста, поправьте меня.

MyClass.java

public static native void registerOnBrowserEventForDateTimePicker()  /*-{       
                $wnd.callOnBrowserEventForDateTimePicker [email protected]::
                callOnBrowserEventForDateTimePicker(com/google/gwt/cell/client/Cell/Context,com/google/gwt/dom/client/Element,Ljava/lang/String,com/google/gwt/dom/client/NativeEvent,com/google/gwt/dom/client/NativeEvent);
    }-*/;

Любой пример кода для того же или указатели, чтобы сделать это правильно


person StackOverFlow    schedule 26.01.2013    source источник
comment
Итак, вы хотите снова вызвать тот же метод с теми же параметрами из вашего кода jquery? Или я не понимаю вашего вопроса.   -  person bogdan.mustiata    schedule 05.02.2013
comment
@bogdan.mustiata Да, я хочу снова вызвать тот же метод с теми же параметрами из вашего кода jquery. в том же контексте   -  person StackOverFlow    schedule 07.02.2013


Ответы (1)


Я бы сделал это с другим анонимным объектом, который содержит контекст для метода. Что-то вроде этого:

private Runnable contextCall;

public void onBrowserEvent(final Context context, final Element parent, final String value,
        final NativeEvent event, final ValueUpdater<String> valueUpdater) { 
    contextCall = new Runnable() {
        public void run() {
            // my custom code is here
        }
    };

    contextCall.run();
}

public void callOnBrowserEventForDateTimePicker() {
    contextCall.run();
}
person bogdan.mustiata    schedule 07.02.2013