我对 Java 还很陌生,现在已经是培训的第二个月了。我希望每次按下 时New,旧文本都会被删除,然后新文本就会出现。但这不起作用。我已经在互联网上进行了研究。
当我按下 时New,新文本会覆盖旧文本。我想如果我text(null)
之前做了,它就会删除它。但这不起作用。
多次按下按钮后:
这是我的代码:
buttonNew.setOnAction(ae -> {
int randomM1 = (int) (Math.random() * 11);
int randomM2 = (int) (Math.random() * 11);
System.out.println(randomM1 + " x " + randomM2);
System.out.println(randomM1 * randomM2);
Text mText = new Text();
mText.setText(null);
mText.setText(randomM1 + " x " + randomM2);
rootM.getChildren().add(mText);
mText.setLayoutX(300);
mText.setLayoutY(200);
mText.setFont(Font.font("Verdana", 50));
});
Run Code Online (Sandbox Code Playgroud)
Text
您在每次单击按钮时都会创建一个新的,并且每次Text
都会添加这个新的。rootM
当您说mText.setText(null);
要清除新创建的变量的文本时mText
,该文本与已添加到布局中的文本不同。
为了克服这个问题,您可以Text
在事件处理程序外部定义一次变量,并在需要时更新其文本。
final Text mText = new Text();
rootM.getChildren().add(mText);
mText.setLayoutX(300);
mText.setLayoutY(200);
mText.setFont(Font.font("Verdana",50));
buttonNew.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
// your code to generate random ...
mText.setText(randomM1 + " x " + randomM2);
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
190 次 |
最近记录: |