如何在JavaFX中擦除标签?
在JavaFX中创建label控件时,如何在按钮单击事件中擦除它?以下是我如何创建我的标签:如何在JavaFX中擦除标签?,java,javafx,label,Java,Javafx,Label,在JavaFX中创建label控件时,如何在按钮单击事件中擦除它?以下是我如何创建我的标签: Label result= new Label("The result is ..."); root.add(result, 0, 1); 我尝试用以下内容覆盖它: Label result= new Label(""); root.add(result, 0, 1); 但这并不会使前面的文本消失。它只覆盖窗格上的文本 谢谢。如果要删除
Label result= new Label("The result is ...");
root.add(result, 0, 1);
我尝试用以下内容覆盖它:
Label result= new Label("");
root.add(result, 0, 1);
但这并不会使前面的文本消失。它只覆盖窗格上的文本
谢谢。如果要删除标签内容,请执行以下操作:
final Label result = ...
root.add(result, 0, 1);
button.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent event) {
result.setText("");
}
});
您可以稍后再添加它
在任何情况下,如果在方法中声明,它必须是最终的。如果是类成员变量,则不带final即可。如果要删除标签内容,请执行以下操作:
final Label result = ...
root.add(result, 0, 1);
button.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent event) {
result.setText("");
}
});
您可以稍后再添加它
在任何情况下,如果在方法中声明,它必须是最终的。如果是类成员变量,则不带final也可以。执行此操作时:
Label result= new Label("");
您正在创建一个新的标签
对象。结果
只是一个变量,它指向类型为标签
的对象。每次使用关键字new
时,您都在堆中创建一个新对象,但没有删除旧对象,这就是为什么它会覆盖窗格上的文本
不要每次要更改文本时都创建新标签,只创建一次标签
,然后通过执行以下操作更改此现有标签
对象的文本:
result.setText("");
将其放入按钮的侦听器中:
button.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent event) {
result.setText("");
}
});
button.setOnAction(新的EventHandler(){
@重写公共无效句柄(ActionEvent事件){
result.setText(“”);
}
});
执行此操作时:
Label result= new Label("");
您正在创建一个新的标签
对象。结果
只是一个变量,它指向类型为标签
的对象。每次使用关键字new
时,您都在堆中创建一个新对象,但没有删除旧对象,这就是为什么它会覆盖窗格上的文本
不要每次要更改文本时都创建新标签,只创建一次标签
,然后通过执行以下操作更改此现有标签
对象的文本:
result.setText("");
将其放入按钮的侦听器中:
button.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent event) {
result.setText("");
}
});
button.setOnAction(新的EventHandler(){
@重写公共无效句柄(ActionEvent事件){
result.setText(“”);
}
});