2012-06-14 18 views
7

Estoy tratando de crear una tabla con una sola columna usando el siguiente código:JavaFX 2 Crear TableView con una sola columna

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

Sin embargo consigo una tabla con la columna "Nombre de la ciudad", seguido de una columna en blanco

Soy nuevo en JavaFx, por lo que podría haber una forma mejor de hacerlo.

Respuesta

13

Recuerdo que traté de "eliminar" columnas en blanco yo mismo jugando con las propiedades CSS en el pasado sin suerte. La solución era o bien,
- establecer el ancho pref de la cityColumn para cubrir todo el espacio manualmente:

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

-2 para anchos de frontera. También puede enlazar directamente la propiedad de ancho de columna a la propiedad de ancho de tabla, lo que resulta en que el ancho de columna se actualice automáticamente cuando se cambie el tamaño del ancho de la tabla. Ver esta respuesta https://stackoverflow.com/a/10152992/682495.
O
- establecer la columna de cambiar el tamaño de la política a CONSTRAINED_RESIZE_POLICY:

table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); 
+9

CONSTRAINED_RESIZE_POLICY es todo lo que necesita – jewelsea

+2

se fueron al CONSTRAINED_RESIZE_POLICY al final. –

Cuestiones relacionadas