java - JavaFX 应用程序设计
问题描述
我目前正在使用 FXML Windows 开发带有 JavaFX 的应用程序。申请范围如下:
获取用户输入(例如凭据) -> 使用这些凭据通过 Web 服务 API 调用检索信息 -> 使用收集的信息来创建文件或在表格中可视化。
目前,我正在使用 Main 类来启动每个 FXML 窗口,将信息返回到 Main 类并将其传递给下一个 FXML 窗口,依此类推(例如 Main -> FXMLWindow_1 -> Main -> FXML_Window_2 -> Main -> 。 ..)。
我的问题:从设计/工作流程的角度来看,这是否正确?或者从前一个开始依次启动每个 FXML 窗口(例如 Main -> FXMLWindow_1 -> FMXLWindow_2 ...)会更好/相同吗?
解决方案
我认为没有“正确的方法”。
这完全取决于应用程序提供的功能。如果其中的各个窗口在逻辑上是连接在一起的,并且解决了一个共同的任务,那么使用 Main -> FXMLWindow_1 -> FMXLWindow_2 的方法更合适。实际上,这些是“向导”工具。在它们中,导航是上一个、下一个和完成。这种架构的另一个例子是安装程序下一步 -> 下一步 -> .... -> 完成。
如果任务未连接,用户可以选择是否以及何时执行任务(例如打开对话框),最好使用 Main -> FXMLWindow_1 -> Main -> FXML_Window_2 -> Main... 在在这种情况下,您可能需要考虑使用单独的应用程序存储对象(应用程序级别的 MVC 模式)。
通过这两种方法,您可以获得一个额外的对话框,该对话框可用于在用户被允许进入应用程序的实际部分之前对其进行授权。
您一个人需要决定哪种解决方案最适合您的应用。
推荐阅读
- ibm-cloud - 将 CLI 用于具有 IAM 命名空间的云功能时出错
- batch-file - 获取早于 x 天的空文件夹列表
- java - 您可以在每次单击按钮时随机生成一个 JPanel 吗?
- azure - SignalR 核心:启用 Web 套接字并将 Azure 应用服务扩展到多个实例时是否需要 ARR 关联?
- javascript - 使用属性 table-layout:fixed 在表格中调整窗口大小时更改宽度
- javascript - Redux 调度可能会改变的情况有哪些?
- android - 在跨度中隐藏字符串内容
- schema.org - “您的附加链接搜索框模板中存在错误:INVALID_SYNTAX”
- python - 为什么我得到索引 0 超出了轴 0 大小为 0 的范围?
- javascript - 如何以动态方式控制带有悬停(显示和隐藏)的元素