2012-06-14 59 views
7

我嘗試使用下面的代碼來創建一個列的表:了JavaFx 2創建的TableView單柱

TableView<String> table = new TableView<String>(); 
table.getColumns().clear(); 
table.getColumns().add(new TableColumn<String, String>("City Name")); 
table.setItems(cityList); 

但是我得到了「城市名稱」列之後是一個空列的表

我是JavaFx的新手,所以可能有更好的方法來做到這一點。

回答

13

我記得在過去沒有運氣的情況下嘗試通過使用CSS屬性來「刪除」空白列。解決方法要麼,
- 設置cityColumn的PREF寬度手動覆蓋整個空間:對於邊緣寬度

TableColumn<String, String> cityColumn = new TableColumn<String, String>("City Name"); 
cityColumn.setPrefWidth(table.getPrefWidth() - 2); 

-2。您也可以直接將列寬屬性綁定到表寬度屬性,從而在調整表寬度時自動更新列寬。看到這個答案https://stackoverflow.com/a/10152992/682495
或者
- 設置列調整政策CONSTRAINED_RESIZE_POLICY

table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); 
+9

CONSTRAINED_RESIZE_POLICY是所有你需要 – jewelsea

+2

去了到底CONSTRAINED_RESIZE_POLICY。 –