我现在有
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
String dd = "Hello";
stage.setTitle("Greetings"); //creates title
button_roll = new Button("Roll");
StackPane layout1 = new StackPane();
layout1.getChildren().add(button_roll);
Scene scene1 = new Scene(layout1, 600, 600);
stage.setScene(scene1);
Label mylab = new Label();
mylab.setText(dd);
Scene scene2 = new Scene(mylab, 600, 600);
button_roll.setOnAction(e -> stage.setScene(scene2));
stage.show();
}
我的代码当前将“hello”作为新场景显示到场景中。我想知道是否有办法只更新scene1来显示文本,而不是创建一个只包含文本的全新场景。
我想做的事有术语吗?如果有,是什么?任何帮助都太好了!
3条答案
按热度按时间kfgdxczn1#
我不熟悉javafx,但也许您应该试试eventhandler/actionevent:
fcy6dtqo2#
你的问题是你从不添加
Label
到Scene
. 将根节点作为StackPane
将堆叠Label
以及Button
在对方身上。你需要替换StackPane
与VBox
,HBox
,或更合适的Node
. 代码中的注解。mnowg1ta3#
你应该喜欢this:-