按下按钮后在文本字段上显示文本 (JavaFX)



我正在尝试构建一个计算器,我已经在互联网上查看了所有内容,但示例对我没有帮助,所以我创建了按钮和所有内容,我正在尝试显示:

TextField Result = new TextField();
Result.setEditable(false);
Result.setAlignment(Pos.CENTER_RIGHT);
Result.setMinSize(210, 30);
Result.textProperty().bind(Bindings.format("%.0f" , value));    
pane.getChildren().add(Result);

按下的按钮编号,我该怎么做?假设按钮是:

Button uno = new Button("1");

uno.setMinSize(40, 40(; pane.getChildren((.add(uno(;

如何使文本字段结果显示数字 1?

非常感谢!

最简单的方法是为每个按钮添加一个侦听器,并动态更改文本字段:

uno.pressedProperty().addListener((o, old, newValue) -> Result.setText("1"));
dos.pressedProperty().addListener((o, old, newValue) -> Result.setText("2"));

请注意,当用户按下和取消按下按钮时,您的听众将做出两次反应,newValue = true/false。如果需要,请执行其他检查:

uno.pressedProperty().addListener((o, old, newValue) -> {
if (newValue) {
Result.setText("1")
}
});

更新:不要忘记删除此行作为错误的解决方案:

Result.textProperty().bind(Bindings.format("%.0f" , value));

最新更新