我下面的代码部分有问题
ArrayList<Integer> baseCost = new ArrayList<>();
priceTextField.textProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue arg0, Object arg1, Object arg2) {
baseCost.add(Integer.parseInt(priceTextField.getText()));
}
});
daysSlider.valueProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue arg0, Object arg1, Object arg2) {
priceTextField.textProperty().setValue(String.valueOf((int) daysSlider.getValue() * baseCost.get(0)));
};
});
程序的工作方式如下:
单击保存按钮,将汽车添加到我的数据库后,我以称为addCar.fxml的形式更新数据。我在文本字段中键入数字,如果将滑块设置为例如3个文本字段编号,则会自动更新为文本字段* 3
滑块值的范围从1到10
问题:
如果我从剪贴板粘贴数字,例如500,则滑块为3,我得到的值是1500-正确
但是如果我从键盘5 + 0 + 0程序中键入数字,则只能读取texfield的第一位数字,因此如果滑块为3,则得到结果15
在将第一个数字传递给Textfield后,看起来数据已被拉出,我该如何解决?
答案 0 :(得分:0)
不是您的问题的答案,但是从用户的角度来看,显示价格*天数的标签会不会更简单,更直观?为什么要直接更改文本字段?
要回答您的问题,请将baseCost更改为int而不是List。 (除非我遗漏某些东西,否则我仍然无法弄清楚为什么您需要在此处添加列表)