0

我用 Netbeans 和 XML 为我制作了一个小浏览器。我使用 TextField 手动输入网址。如果我填写了错误的 url(例如http://www.usususususuuuuuu.com),broser 很忙,但没有任何反应。如何处理这种状态。对我来说有趣的是 handleSearchButton(ActionEvent event) 方法。

非常感谢!

public class FXMLDocumentController implements Initializable {

private Label label;
@FXML
private Button buttonHome;
@FXML
private Button buttonSearch;
private ToggleButton favorites;
@FXML
private Label labelStatus;
@FXML
private WebView webView;
private WebEngine browser;
@FXML
private TextField textField;
@FXML
private ProgressBar progressBar;
@FXML
private ChoiceBox<String> favBox;
private ObservableList<String> olist;
private TreeSet<String> list;
@FXML
private Button RemoveFavorit;

@Override
public void initialize(URL url, ResourceBundle rb) {

    browser = this.webView.getEngine();

    browser.load("http://www.donau-uni.ac.at");
    this.handleLoadingState();

    list = new TreeSet<>();

    olist = FXCollections.observableArrayList(list);


    favBox.getItems().clear();
    favBox.getItems().addAll(list);

}

@FXML
private void handleHomeButton(ActionEvent event) {
    this.handleLoadingState();

    browser.load("http://www.donau-uni.ac.at");
}

@FXML
private void handleSearchButton(ActionEvent event) {

    this.handleLoadingState();
    String url = this.textField.getText();
    if (!url.startsWith("http://")) {
        url = "http://" + url;

    }
     browser.load(url);



}
4

1 回答 1

1

您可以注册一个监听器

browser.getLoadWorker().stateProperty()

Worker.State.FAILED如果 URL 不正确(或由于任何原因加载失败),状态将更改为。

于 2015-07-31T19:58:40.790 回答