2014-08-27 99 views
0

我有一個TableView在我的應用程序中以標準方式與CellValueFactory和ObservableList一起使用。JavaFX TableView索引訪問或固定表

然而,這是不是很夠我,我解釋爲什麼: 第一列想有永遠留固定值。三列遵循類

public class ValuesTriplet { 

    private StringProperty L1 = new SimpleStringProperty(); 
    private StringProperty L2 = new SimpleStringProperty(); 
    private StringProperty L3 = new SimpleStringProperty(); 

    ... 
    // constructor 
    // properties setters/getters 
} 

填充(我工作這中間部分。)
一個(最後一個)String列如下。

我的問題是,我從設備在下面的方式讀取數據:
1)三元組被讀出並填充至表(工作部分) - 這還確定的行數
2)單值最後一列被讀取 - 但只有一些行有他們(!)。如何在不使用add()方法的情況下寫入現有表?
3)轉到1

或者我可以有例如單細胞工廠的每一部分?

如果有任何不清楚的地方,請詢問。謝謝。

+0

這可能有些用處。 http://stackoverflow.com/a/16407347/2855515 – brian 2014-08-27 16:11:27

回答

0

一個小的獨立的測試案例可以讓我們更容易理解你的問題。

這是一個簡單的視圖更新問題?並且是無法更新派生自Observable和部分可觀察列表的屬性,並通過PropertyValueFactory註冊爲列?如果不是,那麼TableView將不會自動知道您的模型已更改。您可以強制更新明確地這樣說:

public void updateData() { 
     if (tableView.getColumns().size()==0) 
      return; 
     tableView.getColumns().get(0).setVisible(false); 
     tableView.getColumns().get(0).setVisible(true); 
    } 

我在JavaFX的遷移,我不得不使用Swing表模型一個JavaFX表視圖有這個問題。當然,該視圖不會自動通知有關模型的更改。模型更新後調用上述代碼爲我更新表格。

+0

我試圖更新有界的屬性,但沒有成功。 CellValueFactory是正確的,但表格不刷新。這是問題 - 我發現它在其他網站上,這是JavaFX的錯誤。解決方案與您的解決方案一樣。 – blizzard 2014-09-03 14:27:25