Button 按下按钮后在文本字段上显示文本(JavaFX)
我正在尝试构建一个计算器,我已经在互联网上搜索了所有的例子,但这些例子对我没有帮助,所以我创建了按钮和所有东西,我正在尝试在上面显示:Button 按下按钮后在文本字段上显示文本(JavaFX),button,javafx,calculator,Button,Javafx,Calculator,我正在尝试构建一个计算器,我已经在互联网上搜索了所有的例子,但这些例子对我没有帮助,所以我创建了按钮和所有东西,我正在尝试在上面显示: TextField Result = new TextField(); Result.setEditable(false); Result.setAlignment(Pos.CENTER_RIGHT); Result.setMinSize(210, 30); Result.textProperty().bind(Bindi
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));
这是我第一次发现JavaFx时在采访中做的一个糟糕的实现。谢谢你的帮助!但是当我放入:uno.pressedProperty().addListener((o,old,newValue)->{if(newValue){Result.setText(“1”)});在代码上,它什么都没做,它给了我一个错误。谢谢你,兄弟!我正认真地努力让这一切顺利进行,我给自己定了一个最后期限,我被困在这里了。这就是我的错误:我重现了你的问题。您需要删除此行:Result.textProperty().bind(Bindings.format(“%.0f”,value));。我很高兴,别忘了投票,把答案记为赢家:)哦!我不知道你能在这里这么做,当然我很乐意这么做。再次感谢!