首页 > 解决方案 > 如何使用java在视图之间制作导航系统

问题描述

我被一个问题困扰了很长一段时间。

我正在制作一个简单的教育 Java 软件,但我没有找到导航系统在页面之间切换的任何示例。我的意思是我正在制作一个“核心”,公开一个 API 和不同的用户界面,包括命令行界面(cli)、图形用户界面(gui)、web 界面,可能还有一个 android 应用程序。我的问题是关于 CLI,但可能也应该应用于 GUI:你将如何从一个页面切换到另一个页面?

我试图让它像一个实现一个接口的枚举,包括一个实例化视图的函数。这样,视图返回要显示的视图的特定枚举。然后执行枚举以创建视图。但是,即使它是可扩展的,它也确实看起来效率低下且复杂。

这是我的目标的简单表示。

Launcher
-> System.out.println("welcome");
-> go to Authenticate

Authenticate
-> System.out.println("1: sign in, 2: login")
-> if(input == 1) go to SignIn
-> else go to LogIn

SignIn
-> System.out.println("enter username and password")
-> username = input
-> password = input
-> new User(username, password)
-> go to Authenticate

LogIn
-> print("enter username")
-> go to Etc...

如果视图被另一个视图调用,导航是否应该集中以避免内存丢失?“菜单”不应该集中所有视图调用以使代码可读吗?

可能是一个愚蠢的问题,但我还没有找到答案,我真的很想要一个......

标签: javauser-interfacearchitecturenavigationcommand-line-interface

解决方案


在较大的系统中,通常有一个控制器层,它通常负责将用户从一个视图路由到另一个视图。这是MVC中的 C 。这取决于您使用的框架,许多框架指定了视图之间路由的特定方法。其他的则更临时,并允许视图层控制导航。

您基本上是在枚举中的应用程序中构建此控制器层。


推荐阅读