2013-03-14 57 views
0

我有一个代码在一个组合框中指定历史,但是我需要在一个表中!webEngine.getHistory()在TableView中添加

来源

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

您的代码将是大约在列表中添加的项相同。如果你打电话给表“locationHistory”,然后

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

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

现在,您有另一个麻烦:

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

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

相关问题