我想開發自動完成的文本,其中顯示了tableview彈出窗口中的建議下拉列表,並且我遇到了如何隱藏javafx 2.1中tableview的整個標題欄的問題如何javafx隱藏tableview的背景標題?
4
A
回答
13
應用自定義樣式表:
table.getStylesheets().addAll(getClass().getResource("hidden-tableview-headers.css").toExternalForm());
該文件hidden-tableview-headers.css
被放置在相同的位置類加載CSS的資源,它包含行:
.column-header-background { visibility: hidden; -fx-padding: -1em; }
的visibility: hidden
ATTRIB ute告訴JavaFX不要繪製節點,但仍然留下標題所在的位置。由於標題爲一行文字高度高,因此您可以通過設置-fx-padding: -1em;
來告訴不可見標題不佔用任何空間。
5
該解決方案非常簡單;在tableview呈現之後,我們可以獲取表頭並使其不可見,因此當表視圖佈局更改時,表頭不必重新佈局。 爲了趕上表渲染完成後,我們可以用width屬性的變化,並隱藏表頭
下面是代碼:
tableView.widthProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov, Number t, Number t1) {
// Get the table header
Pane header = (Pane)tableView.lookup("TableHeaderRow");
if(header!=null && header.isVisible()) {
header.setMaxHeight(0);
header.setMinHeight(0);
header.setPrefHeight(0);
header.setVisible(false);
header.setManaged(false);
}
}
});
0
如果你不想增加額外的.css文件你可能使用現有的CSS:
.hide-header .column-header-background {
visibility: hidden; -fx-padding: -1em;
}
哪裏.hide-header
是你應該添加到您的Java代碼中隨機名稱:
table.getStyleClass().add("hide-header");
相關問題
- 1. 如何在JavaFX 8中隱藏TableView列標題?
- 2. 動作欄背景隱藏標題android
- 3. 如何隱藏自定義標題背景圖片?
- 4. JavaFX在tableview中隱藏列的文本
- 5. 如何隱藏已被jquery隱藏的div的背景圖片
- 6. 動態隱藏TableView節標題
- 7. 隱藏取消隱藏UITableViewCell背景
- 8. 隱藏頁面的背景
- 9. JavaFX如何使用CSS更改tableview列的背景顏色?
- 10. UITableView部分中的背景圖像隱藏部分標題
- 11. JavaFX TableView點擊標題
- 12. 如何隱藏JButton的背景(哪個containt圖標圖像)?
- 13. 添加背景圖像,同時隱藏Tableview加載數據
- 14. 如何在TableView中爲標題設置背景顏色?
- 15. C#隱藏,背景,processinfo
- 16. CSS不能隱藏背景
- 17. 隱藏圖像背景
- 18. 標題欄如何隱藏?
- 19. 如何隱藏PivotItem標題?
- 20. 隱藏ImageButton背景時,如何防止圖標對齊更改?
- 21. 散景Gmap隱藏/取消隱藏背景
- 22. 的android:背景隱藏我的文字
- 23. 隱藏的背景之上的div
- 24. 如何設置tableView的背景顏色
- 25. 問題與JavaFX的背景色8
- 26. 當section0中的numberOfRows隱藏tableview標頭
- 27. 隱藏iOS5中的UISearchBar背景
- 28. IE中隱藏的背景圖像
- 29. 隱藏溢出的背景移動
- 30. jQuery隱藏頂部菜單的背景
謝謝jewelsea,但這將保留一個空的空間而不是列標題,我想刪除它。 –
在建議的css中添加了-fx-padding設置,以便不可用的列標題不佔用屏幕上的任何空間(由匿名計算器用戶推薦)。 – jewelsea
@jewelsea,我建議使用'-fx-padding:-2em;'而不是'-1em',因爲當我嘗試時仍然留有一些空間。 – Mansueli