webEngine.getHistory()在TableView中添加

时间:2013-03-14 18:06:43

标签: javafx-2 javafx

我有一个代码,用于在ComboBox中分配历史记录,但我需要在表中使用!

来源

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());
                }
            }
    });

它是......

1 个答案:

答案 0 :(得分:1)

您在代码中添加项目的代码是相同的。如果您将表格称为“locationHistory”,那么

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

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

现在,你有另一个麻烦:

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

此外,请阅读以下有关如何为列添加单元格值工厂的信息:Cell factory in javafx