2012-05-29 86 views
0

我本來希望能夠將一個CSS類添加到TreeItem中,然後只需使用一個CSS文件來賦予其風格。但這是不可能的,或者是?JavaFX2:設計單個TreeItem的最佳方式是什麼?

有沒有像我們可以使用getStyleClass()一樣添加類的方法?

如果不是,給個別物品一種風格的最佳方法是什麼?

回答

1

給樣式添加項目的最佳方式是使用樣式表,限制使用Node.setStyle。

你可能想知道爲什麼?

原因是表現。計算樣式值被緩存。所有匹配相同選擇器的節點都可以共享計算值。

+0

是的,我打算使用樣式表。但問題是:如何將一個樣式類分配給沒有「getStyleClass()」功能的節點?與TreeItem或TableColumn等情況一樣。 – betaman

1

呃......在箱子外面思考!您不能對treeitem和tablerow進行樣式設置,因爲它們基本上作爲其他節點的容器形式,因此請爲您的treeitem(或tablerow)上的節點設置一個類,然後對它們進行樣式設置。我很抱歉的回答,但我還不能添加評論

+0

感謝您的想法。這將工作,如果我有一些手動刷新列表的方式。就像現在一樣,除非可觀察值發生變化,否則節點只會在開始時刷新一次。我已經在Jira提交了一個已被接受的功能請求。 – betaman

1

使用TreeCellFactory,並在工廠中使用Node並通過getStyle設置它的樣式,或者通過Node.setStyleClass設置樣式。

+0

這就是我所做的。但正如我告訴@布魯諾,它剛剛在開始時被稱爲一次 – betaman

相關問題