【问题标题】:I need to create a back button functionality in javafx?我需要在 javafx 中创建后退按钮功能吗?
【发布时间】:2016-09-14 06:56:50
【问题描述】:

我目前正在使用类似的东西将此代码绑定到 fxml javafx 按钮

Parent parent = FXMLLoader.load(getClass().getResource("AolRun.fxml"));
Stage stage = new Stage();
stage.initStyle(StageStyle.UTILITY);
stage = (Stage) run.getScene().getWindow();
Scene scene = new Scene(parent);
stage.setScene(scene);
scene.getStylesheets().add("/css/Style.css");
stage.setTitle("Output");
stage.setResizable(false);
stage.show();

是否有一个通用函数可以用于返回,它只是将屏幕从当前 fxml 场景转换到下一个 fxml。

每个 fxml 都有单独的场景。

【问题讨论】:

  • 最好使用一个Scene,只改变Scene的父布局。
  • 我已经构建了我的应用程序有什么选择

标签: javafx


【解决方案1】:

1)更好的方法是更改​​父布局并仅使用一个场景。

2)尽管您可以使用Button 获得所需的功能。当onAction 方法被触发时,您可以选择Scene 去。您可以将场景存储在数组中并移动到下一个或上一个索引,或实现您自己的逻辑,Scene 将遵循或哪个场景是当前场景的前一个。

这里是 1 更有用的地方,因为您可以使用动画转到下一个或上一个“场景”。例如 TransitionAnimation

~~> 除了下面的cmets

如果您想知道用户在哪个场景中,然后才能使用 ObservableList 或 Array。

每次用户更改 Scene 时,前一个 Scene 都会存储在数组中。

【讨论】:

  • 但这里的问题是我如何知道哪个是前一个场景或前一个 fxml 文件,我应该对其进行硬编码
  • @Rahul Singh 你想知道用户之前的场景是什么?稍微解释一下应用程序的逻辑。
  • 是的,该应用程序实际上就像用户可以选择搜索与不同选项相关的不同值,并且在他搜索了选项的所有结果之后,如果他想移动到不同的选项,他必须返回选项屏幕右侧。所以我知道他来自哪个屏幕,但我可以直接从 javafx 获取它,而不是维护一个变量。
  • @Rahul Singh 据我所知,你必须实现它......不是那么难。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-23
  • 1970-01-01
相关资源
最近更新 更多