Скрипт JavaFX не работает после смены страниц

Как отмечалось выше, когда пользователь щелкает что-то, что меняет страницу, сценарии с использованием JavaFX больше не работают.

привет.html

<div onclick="app.byeBye()">bye</div>

до свидания.html

<div onclick="app.hello()">hello</div>

JavaApp.класс

 public class JavaApp{

    public void hello(){
        //process some stuff here
        setURL("/hello.html");
    }

    public void byeBye(){
        //process some stuff here
        setURL("/byebye.html");
    }

    private void setURL(final String uriString){
       Platform.runLater(new Runnable(){

            public void run(){
                JSObject win = (JSObject) webViewPanel.getWebEngine().executeScript("window");
                win.setMember("app",  new JavaApp());
                webViewPanel.loadURL(Browser.class.getResource(uriString).toExternalForm());
            }
        });
    }
}

Что я должен сделать, чтобы решить эту проблему?


person theAnonymous    schedule 01.09.2014    source источник
comment
Попробуйте получить объект окна и установить приложение после того, как механизм веб-просмотра успешно загрузит URL-адрес. А именно, когда состояние движка — State.SUCCEEDED. См. javadoc WebEngine.   -  person Uluk Biy    schedule 01.09.2014


Ответы (1)


Ответ Улук Бия правильный (но я не могу комментировать ответ). Обязательно поставьте ему лайк, если это будет полезно.

Попробуйте получить объект окна и установить «приложение» после того, как механизм веб-просмотра успешно загрузит URL-адрес. А именно, когда состояние движка — State.SUCCEEDED. См. javadoc WebEngine.

Страница API WebEngine находится здесь: http://docs.oracle.com/javafx/2/api/javafx/scene/web/WebEngine.html

person theAnonymous    schedule 01.09.2014