0
JavaFX 웹 브라우저에 표시 내역 기능을 추가해야합니다. ObservableList로 역사를 얻을 수 방법 : 내가 가진JavaFX 브라우저 - ListView에 항목의 getTitle()을 표시합니다.
public static ObservableList<Entry> getHistoryList() {
WebHistory history = MyJavaFXBrowser.getWebEngine().getHistory();
ObservableList<Entry> entries = history.getEntries();
return entries;
}
을하고 난 단지 Entry.getTitle()를 표시 할 수있는 방법 ListView에
public static ListView<Entry> getHistoryPane() {
return new ListView<Entry>(getHistoryList());
}
나는이 내 방법을 변경하는 경우 : 내가 자동으로 페이지를 변경할 때
public static ObservableList<String> getHistoryListTitles(){
WebHistory history = MyJavaFXBrowser.getWebEngine().getHistory();
ObservableList<Entry> entries = history.getEntries();
ObservableList<String> titles = FXCollections.observableArrayList();;
for (Entry entry: entries) {
titles.add(entry.getTitle());
}
return titles;
}
는 역사를 업데이트하지 않습니다.
ListView에서 ObservableList의 메서드에 액세스하려면 어떻게해야합니까?
public static ListView<Entry> getHistoryPane() {
ListView<Entry> historyPane = new ListView<Entry>(getHistoryList());
historyPane.setCellFactory(lv -> new ListCell<Entry>() {
@Override
protected void updateItem(Entry entry, boolean empty) {
super.updateItem(entry, empty);
setText(entry == null ? null : entry.getTitle());
}
});
return historyPane ;
}
: