私はウェブブラウザを構築しようとしています。私はウェブページを取得するためにWebViewを使用しています。私は履歴を格納するためのURLとタイトル名の両方を取得する必要があります。私は値をプリントアウト2人のarraylistsの値をプッシュして印刷する際のシーケンスを維持する
private void currentScene() {
Platform.runLater(new Runnable() {
@Override
public void run() {
WebView view = new WebView();
engine = view.getEngine();
engine.createPopupHandlerProperty();
engine.titleProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, final String newValue) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
if (newValue != null) {
//stores the title name in an arraylist
title.add(newValue);
}
}
});
}
});
engine.locationProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> ov, String oldValue, final String newValue) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
//stores the URL in another arraylist
titleUrl.add(newValue);
//sets the text of the location text field
locationTextField.setText(newValue);
}
});
}
});
jfxPanel.setScene(new Scene(view));
}
});
}
:
は、だから私は、このようにしてみましたfor (int i = 0; i < title.size(); i++) {
System.Out.Println(title.get(i)+" : "+titleUrl.get(i));
}
をしかし、私の出力は、誰も私でした教えてくださいでき
Google : http://www.yahoo.com
Yahoo : http://www.google.com
のようなものです私は間違っていますか?前もって感謝します。
される(1イベントのみがトリガされるというケースはありません) 2つのリスナーが呼び出されたときの順番(たとえば、titlePropertyリスナーが常に最初に呼び出される)は、最初のリスナーの長さをチェックして、最初のリスナーのリストが1要素第2のリスナのリストから。 – Hani
あなたはあなたの答えにそれを示すことができますか? – IAmBlake