webEngine加载另一个页面

时间:2013-05-30 14:00:11

标签: java javafx-2 javafx

在我已经进行webEngine.load调用之后,我无法理解如何将另一个页面加载到webEngine中。 我注意到,在初始化浏览器的Web视图后,程序的执行会等待窗口关闭,因为我需要每隔20秒进行一次检查,我已经创建了另一个初始化Web视图的线程。

public class MainBrowser extends Application {
    private Scene scene;
    private static String json;
    private static Browser browser;

    @Override 
    public void start(Stage stage) {
        // create the scene
        stage.setTitle("Web View");

        Rectangle2D screenSize = Screen.getPrimary().getVisualBounds();
        double width = screenSize.getWidth();
        double height = screenSize.getHeight();

        //System.out.println("Defining a new scene...");
        browser = new Browser(json);
        scene = new Scene(browser,width,height, Color.web("#666970"));
        stage.setScene(scene);
        //scene.getStylesheets().add("webviewsample/BrowserToolbar.css");
        stage.setFullScreen(true);
        stage.show();

    }

    public static void main(String j){
        json = j;
        launch();
    }

    public static void reload(String j){
        json = j;
        browser.reloadPage(j);
    }
}

这就是我以前称之为浏览器的内容

private static void openBrowserWindow(String json)
{
    browserRunnable = new BrowserRunnable(json);
    browserThread = new Thread(browserRunnable);
    browserThread.start();

}

private static void reloadBrowserWindow(String json)
{
    browserRunnable.reloadBrowser(json);        
}

使用此功能,我尝试在另一个线程中调用浏览器,然后加载另一个页面。当然它不起作用,但我真的不知道如何让webEngine加载另一页:

public class BrowserRunnable implements Runnable {
    static MainBrowser browser;
    static String json;

    public void reloadBrowser(String json)
    {
        this.json = json;
        MainBrowser.reload(json);
    }

    public BrowserRunnable(String json)
    {
        this.json = json;
    }

    @Override
    public void run() {
        MainBrowser.main(json);
    }
}

在浏览器中重新加载功能:

public void reloadPage(String json)
{
    File openpage = new File(Config.PAGE_LOCAL_URL);
    String param = "?json=" + json;
    System.out.println(param);
    webEngine.load(openpage.toURI().toString() + param);
}

我知道有很多代码,但它只是为了显示整体,我只需要知道如何更新我的webEngine的页面

0 个答案:

没有答案