0

我有一个代码可以在组合框中分配历史记录,但我需要在表中!

资源

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

它是..

4

1 回答 1

1

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

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

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

现在,您遇到了另一个麻烦:

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

此外,请在此处阅读有关如何为列添加单元格值工厂的信息:javafx 中的单元格工厂

于 2013-03-14T20:03:06.730 回答