Javafx 2 webEngine.getHistory()加载项TableView

Javafx 2 webEngine.getHistory()加载项TableView,javafx-2,javafx,Javafx 2,Javafx,我有一个在组合框中分配历史数据的代码,但我需要在一个表中 来源 final ComboBox locationHistory = new ComboBox(); final WebHistory history = webEngine.getHistory(); history.getEntries().addListener(new ListChangeListener<WebHistory.Entry>(){ @Overr

我有一个在组合框中分配历史数据的代码,但我需要在一个表中

来源

final ComboBox locationHistory = new ComboBox();
    final WebHistory history = webEngine.getHistory();
    history.getEntries().addListener(new 
        ListChangeListener<WebHistory.Entry>(){
            @Override
            public void onChanged(ListChangeListener.Change<? extends WebHistory.Entry> c) {
                c.next();
                for (WebHistory.Entry e : c.getAddedSubList()) {
                    locationHistory.getItems().add(e.getUrl());
                }
            }
    });
最终组合框位置历史记录=新组合框();
最终WebHistory history=webEngine.getHistory();
history.getEntries().addListener(新建
ListChangeListener(){
@凌驾

public void onChanged(ListChangeListener.Change您的代码与在列表中添加项目的代码相同。如果您将表称为“locationHistory”,则

代码将在表中添加WebHistory.Entry类型的项

现在,您遇到了另一个问题:

您有一个tableView,表中有一个项目列表(getItems())。每个项对应于表中的一行。若要显示内容,以便将部分行分隔为列,您必须在表的列列表中添加列,并为每列添加cellValueFactory。每个值工厂都可以提取每个数据项需要在列中显示的信息(它获取关于数据项的信息,并返回信息描述,该信息将显示在对应项的相应列中)

此外,请在此处阅读如何为列添加单元格值工厂:

locationHistory.getItems().add(e.getUrl());