从命令行到GUI

时间:2018-03-28 09:56:11

标签: java user-interface

最终使用GUI Java程序的正确方法是什么?解释:我想制作一个有gui的程序。我应该完成我的程序作为命令行aplplication,然后创建gui?或者从e.x WindowBuilder,Java Fx开始,并将其作为GUI应用程序从开始?假设我使用Scanner进行用户输入。当我想结束GUI时,我是否必须更改所有代码以从JTextField获取输入? 更具体一点:我有以下代码

    //Add task to the List
    public void AddToList() {
    myList.add(task.setTaskDesc());
    System.out.println("New item " + task.tascDesc + " is added in your task list!");
}

AddToList方法接受用户(扫描仪输入)并创建列表中添加的任务。所以我必须将所有代码更改为GUI? 这是一个通用的问题,因为大多数程序都需要GUI,所以这是制作完整程序的正常方法。

2 个答案:

答案 0 :(得分:1)

最好从用户界面(UI)中分离算法/逻辑。因此,所有输入都应作为函数参数传递给您的逻辑。稍后您可以决定它来自图形用户界面(GUI)还是从命令行传递。此外,输出应该是独立于UI的数据结构。然后,您可以稍后将其可视化为计划文本或图形化。

答案 1 :(得分:0)

嗯,我可以从我的经验告诉你我认为什么是一个不错的选择。 你想使用终端或控制台与System类,我认为这是一个很好的选择,但只有你有一个consola或终端。好吧,您可以使用终端输入参数并将它们传递给main函数,以便在JavaFX应用程序的控制器类中使用其他函数。在这种情况下,我建议你只使用args作为程序可以管理的输入中的替代模式。如果您使用nmap应用程序作为示例,您可以看到终端的输入可以从终端提供给GUI应用程序。 但我不建议您使用一个终端应用程序或一个终端输入将值传递给GUI终端,我的意思是你可以,但我不建议你。 如果你想要,你可以将值从main函数传递给args值到控制器类并管理你想要的东西,或者使用System.in或你想要的java控制器类你可以做到。

但最好的选择是使用sceneBuilder来构建应用程序,并将逻辑提供给负责管理值的javaFXController.java类。 第一步:      要从sceneBuilder构建组件,始终提供fx:id和组件的处理程序名称。

第二步:      从GUI管理所需的值 第三步:      管理从终端到应用程序的值,但这很简单

祝你好运!