2013-03-14 34 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