JavaFX浏览器-显示条目';ListView中的s getTitle()

JavaFX浏览器-显示条目';ListView中的s getTitle(),listview,javafx,observablelist,Listview,Javafx,Observablelist,我需要在我的JavaFX web浏览器中添加一个显示历史记录功能。 我有: 获取作为ObservableList的历史记录的方法: public static ObservableList<Entry> getHistoryList() { WebHistory history = MyJavaFXBrowser.getWebEngine().getHistory(); ObservableList<Entry> entries = history.get

我需要在我的JavaFX web浏览器中添加一个显示历史记录功能。 我有: 获取作为ObservableList的历史记录的方法:

public static ObservableList<Entry> getHistoryList() {
    WebHistory history = MyJavaFXBrowser.getWebEngine().getHistory();
    ObservableList<Entry> entries = history.getEntries();
    return entries; 
}
publicstaticobserveListGetHistoryList(){
WebHistory history=MyJavaFXBrowser.getWebEngine().getHistory();
ObservableList entries=history.getEntries();
返回条目;
}
和转换为ListView

public static ListView<Entry> getHistoryPane() {
    return new ListView<Entry>(getHistoryList());
}
publicstaticlistview getHistoryPane(){
返回新的ListView(getHistoryList());
}
如何仅显示Entry.getTitle()-而不是完整信息。

如果我将我的方法更改为:

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;
    }
publicstaticobserveListGetHistoryListTitles(){
WebHistory history=MyJavaFXBrowser.getWebEngine().getHistory();
ObservableList entries=history.getEntries();
ObservableList titles=FXCollections.observableArrayList();;
对于(条目:条目){
titles.add(entry.getTitle());
}
返回标题;
}
当我自动更改页面时,它不会更新历史记录

如何在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 ;
}
publicstaticlistview getHistoryPane(){
ListView historyPane=新建ListView(getHistoryList());
setCellFactory(lv->new ListCell()){
@凌驾
受保护的void updateItem(条目,布尔值为空){
super.updateItem(条目,空);
setText(entry==null?null:entry.getTitle());
}
});
返回历史窗格;
}
使用电池工厂:

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 ;
}
publicstaticlistview getHistoryPane(){
ListView historyPane=新建ListView(getHistoryList());
setCellFactory(lv->new ListCell()){
@凌驾
受保护的void updateItem(条目,布尔值为空){
super.updateItem(条目,空);
setText(entry==null?null:entry.getTitle());
}
});
返回历史窗格;
}