Я работаю над приложением javafx и заметил, что некоторые функции CSSstyle / double не работают должным образом, когда региональные настройки Windows были изменены (я из Эстонии).Когда я открываю окно программы, некоторые поля отключаются (выпадающие списки и датчики): Отключить код:
public void lockElements() {
policyTypeCombo.setDisable(true);
insurerCombo.setDisable(true);
clientCombo.setDisable(true);
startDate.setDisable(true);
}
После нажатия кнопки разблокировки этот код работает:
@FXML
public void unlockElements() {
policyTypeCombo.setDisable(false);
insurerCombo.setDisable(false);
startDate.setDisable(false);
}
Это все очень просто, и в моем IntellijIdea все работает отлично: Также, когда я вхожу в какое-либо текстовое поле Double in Sum, оно должно автоматически заполнять суммы part1-12: Вот код, который позволяет вводить только дважды:
sumText.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
if (!newValue.matches("\\d{0,7}([\\.]\\d{0,4})?")) {
sumText.setText(oldValue);
}
}
});
Вот часть кода, которая заполняет другие суммы
double sum = Double.valueOf(sumText.getText());
double part = sum / 12d;
part1Sum.setText(String.format("%.2f", part));
part2Sum.setText(String.format("%.2f", part));
part3Sum.setText(String.format("%.2f", part));
part4Sum.setText(String.format("%.2f", part));
part5Sum.setText(String.format("%.2f", part));
part6Sum.setText(String.format("%.2f", part));
part7Sum.setText(String.format("%.2f", part));
part8Sum.setText(String.format("%.2f", part));
part9Sum.setText(String.format("%.2f", part));
part10Sum.setText(String.format("%.2f", part));
part11Sum.setText(String.format("%.2f", part));
part12Sum.setText(String.format("%.2f", part));
После упаковки моего приложенияи установка на мой компьютер, все работает отлично.НО на компьютерах с разными региональными настройками у меня есть такая картина: после нажатия кнопки «Разблокировать» комбинированные списки и датчики все еще «светло-серые» (но работают, я могу выбрать другие варианты): И когда явведите новую сумму, 1-12 частей суммы не заполняются автоматически.Как я понимаю, это как-то связано с десятичными символами Reginal или что-то вроде этого.Вопрос: как я могу сделать свое приложение независимым от региональных настроек машины?