Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使WebView检测到与服务器的连接失败_Java_Swing_Webview_Javafx 2 - Fatal编程技术网

Java 如何使WebView检测到与服务器的连接失败

Java 如何使WebView检测到与服务器的连接失败,java,swing,webview,javafx-2,Java,Swing,Webview,Javafx 2,我在Swing应用程序中使用了以下JavaFXWebView 我希望在连接到服务器失败时检测事件 engine.getLoadWorker() .exceptionProperty() .addListener(new ChangeListener<Throwable>() { public void changed(ObservableValue<? extends Throwable> o, Throwable old, final

我在Swing应用程序中使用了以下JavaFX
WebView

我希望在连接到服务器失败时检测事件

engine.getLoadWorker()
    .exceptionProperty()
    .addListener(new ChangeListener<Throwable>() {

        public void changed(ObservableValue<? extends Throwable> o, Throwable old, final Throwable value) {
            if (engine.getLoadWorker().getState() == FAILED) {
                SwingUtilities.invokeLater(new Runnable() {
                    @Override public void run() {
                        JOptionPane.showMessageDialog(
                                panel,
                                (value != null) ?
                                engine.getLocation() + "\n" + value.getMessage() :
                                engine.getLocation() + "\nUnexpected error.",
                                "Loading error...",
                                JOptionPane.ERROR_MESSAGE);
                    }
                });
            }
        }
    });
engine.getLoadWorker()
.exceptionProperty()
.addListener(新的ChangeListener(){

public void changed(observeValue我们应该监视状态属性而不是异常属性

engine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {

    @Override
    public void changed(ObservableValue<? extends State> observable, State oldValue, final State newValue) {
        if (newValue == FAILED) {
            final int result = JOptionPane.showConfirmDialog(
                panel,
                MessagesBundle.getString("error_message_unable_connect_to_internet"),
                MessagesBundle.getString("error_title_unable_connect_to_internet"),
                JOptionPane.YES_NO_OPTION);

            if (result == JOptionPane.YES_OPTION) {
                if (loadedURL != null) {
                    engine.load(loadedURL);
                }
            }
        }
    }
});
engine.getLoadWorker().stateProperty().addListener(新的ChangeListener()){
@凌驾
公共无效已更改(可观察值)