javaFX 텍스트 필드를 소수점 두 자리까지 설정하고 싶습니다. 대답을 찾았지만 숫자 값입니다. e-gjavafx textField 청취자를 소수 2 자리까지 추가
// force the field to be numeric only
textField.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
if (!newValue.matches("\\d*")) {
textField.setText(newValue.replaceAll("[^\\d]", ""));
}
}
});
위의 코드에서 한계 값을 10 진수로 대체하는 것은 무엇입니까? 또는 textField를 제한하는 다른 솔루션이 있습니까?
@FXML public TextField InvoiceTotal;
private DoubleProperty invTotal;
invTotal = new SimpleDoubleProperty(0);
netAmount.bind(grossAmount.subtract(disc));
StringConverter<? extends Number> converter= new DoubleStringConverter();
Bindings.bindBidirectional(InvoiceTotal.textProperty(),invTotal,(StringConverter<Number>)converter);
내가 여기에 바인딩 텍스트 필드가 내 부분적인 코드는이 ... 지금은 InvoiceTotal의 텍스트 필드
TextFormatter를 살펴보십시오. UnaryOperator로 모든 것을 정의 할 수 있습니다. –