2016-08-03 129 views
0

我有一個基於TreeTableViews及其行的問題。 我創建了一個名爲Component的對象的treetableview,並且我有3個組件類,我將命名爲A,B和C. 在我的項目中,B對象包含在A中,C對象包含在B中對象。 我能夠顯示TreeTableView與這3個級別的組件,但現在我想在這個表中添加一些CSS,以便能夠具有某些特徵:javaFX中具有不同節點大小的TreeTable查看原圖(大圖)

- 首先,我想A對象的大小要優於B的對象更大,同爲C,對於這件T試圖像這樣根據我所看到的互聯網上的東西:

.tree-table-cell { 
    -fx-font-size: 11pt; 
} 

.tree-table-cell:sub-tree-item { 
    -fx-font-size: 9pt; 
} 

但好像它不工作...

- 那麼我希望能夠像每個A組件之間的分隔符一樣,只是爲了瞭解表

- 最後我希望選定的項目和他所有的樹節點(如果選擇C,則表示C元素+其父B +其父A)爲粗體或直接標識它。爲此,我想申請這一類的一些簡單的CSS:

.tree-item:selected { 
    -fx-font-weight: bold; 
} 

沒有任何成功...

其實我不能夠操縱我TreeItems,因爲我想(加入一些樣式表類在TreeItem中是不可能的)。

我希望我足夠清楚。 感謝您的幫助

回答

0

我已經使用了TreeTableView併成功應用了基於不同標準的樣式。我的方法是將樣式應用於TreeTableRow(但我認爲該單元格也可以)。該行不容易獲得參考(至少,我沒有看到一個簡單的方法)。我訪問它的一種方式是添加一個行工廠。在工廠裏,我添加了我的拖放處理程序。但是,爲了造型,我使用了自定義單元格(因爲我需要它們進行編輯)。在這些自定義單元格的updateItem方法中,我會得到該行並修改樣式。這是必要的,因爲這些行已被虛擬化並被重用。我發現我在updateItem調用期間必須檢查「空行」,並刪除樣式(在我的情況下,它包含「無效」項目的紅色邊框)。

至於CSS中的僞類,我建議您確保使用正確的類。如果您不使用內置的僞類,則必須在代碼中創建一個類,然後將其註冊到您嘗試設置類的類中。我發現一個website有一些信息,但是如果你搜索,我確信有更多的信息在那裏。

我不認爲該物品本身支持樣式(如您所述)。我更多地將它看作模型/數據類(與UI相比)。

相關問題