웹 브라우저를 구축하려고하는데 웹 페이지를 가져 오기 위해 WebView를 사용하고 있습니다. 기록을 저장하기 위해 URL과 제목 이름을 모두 가져와야합니다. 내가 값을 인쇄두 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
같다 내가 잘못 됐니? 미리 감사드립니다.
한다 (하나의 이벤트는 트리거 될 것이라는 경우는 없다) 2 리스너의 순서가 호출 된 경우 (예 : titleProperty 리스너가 항상 먼저 호출 됨) 두 번째 리스너에서 첫 번째리스 트의 길이를 확인하고 첫 번째 리스너의 목록이 1 요소만큼 크면 항목을 추가 할 수 있습니다 두 번째 청취자 목록에서. – Hani
답변에 표시해 주실 수 있습니까? – IAmBlake