我對 Java 還是很陌生,而且在我培訓的第二個月。因此,我希望每次按“新建”時洗掉舊文本,然后出現新文本。但這不會發生。我已經在互聯網上查看并沒有找到任何東西。
當我按“新”時,只有新文本會覆寫舊文本。我想如果我在它之前制作 text(null) 然后它會洗掉它。但它不起作用。
如果我多次按下按鈕,這就是我得到的: 圖片
謝謝你幫助我我迷路了
這是我的代碼:
buttonNew.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
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));
}
});
uj5u.com熱心網友回復:
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);
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/520081.html
標籤:爪哇蚀javafx
上一篇:Flask-SQLAlchemy引發TypeError:Query.paginate()接受1個位置引數,但給出了4個
