Я пишу программу, которая решает проблему ранца. У меня есть несколько классов, которые решают проблему, упакованную в .jar
, и я должен использовать это .jar
в другом проекте. Один из этих классов называется Item
и определяется тремя полями: String name
, int weight
и double value
, а другой класс возвращает список всех этих элементов. Что мне нужно сделать, это показать в Table
значения с разделителем, который устанавливается в зависимости от Locale.getDefault()
. Один раз это .
и один раз ,
. То, что я пробовал, было tableColumnItemsValue.setCellValueFactory(pvt);
, где pvt
было бы чем-то, что устанавливает десятичный разделитель. Тогда я попробовал:
PropertyValueFactory pvt = new PropertyValueFactory("value").call(new DecimalFormatSymbols(Locale.getDefault()).getDecimalSeparator());
И, конечно, это не сработало, потому что я возвращаю char
на PropertyValueFactoy
. Я понятия не имею, как это сделать.
Вот мой код, прежде чем я начал «заставлять его работать»:
listProperty = new SimpleListProperty<>();
observableListOfItems = FXCollections.observableArrayList(listOfItems);
listProperty.set(observableListOfItems);
tableView.setItems(observableListOfItems);
tableView.itemsProperty().bindBidirectional(listProperty);
tableColumnItemsName.setCellValueFactory(new PropertyValueFactory<>("name"));
tableColumnItemsWeight.setCellValueFactory(new PropertyValueFactory<>("weight"));
tableColumnItemsValue.setCellValueFactory(new PropertyValueFactory<>("value"));
Не могли бы вы помочь?