2017-02-23 61 views
0

在java fx中是否有這樣的FloatField。我需要能夠編寫和編輯浮動。所以我用字符串測試了它。但setCellProperty不支持浮子FloatField(TextField for javafx中的浮點數)?

TableColumn<Dish, Float> costCol = new TableColumn<>("Price"); 
costCol.setCellValueFactory(new PropertyValueFactory<Dish, Float>("cost")); 


costCol.setCellFactory(TextFieldTableCell.<Dish>forTableColumn()); 
+0

爲什麼不只是使用字符串文本字段,並檢查用戶輸入可以解析爲一個浮動之前做任何事情呢? – nhouser9

回答

1

通用型爲TextFieldTableCell.forTableColumn()方法(在這種情況下Float)的列類型,不表型。

costCol.setCellFactory(TextFieldTableCell.forTableColumn(new FloatStringConverter())); 

(在Java 8中,編譯器會推斷正確通用:

假設你Dish類有一個costProperty()方法返回合適的類型,如果你提供一個轉換器將forTableColumn方法你的代碼將工作鍵入上面的代碼;如果你想明確你會做TextFieldTableCell<Float>.forTableColumn(...))。