控制台用户界面(ConsoleUI)是在 Windows 或 UNIX 屏幕上以基于文本的格式显示数据的一种技术。此技术只能在 EGL 生成的 Java 程序中使用,而不能在
PageHandler 中使用。
使用 ConsoleUI 创建的界面可在本地或通过远程终端会话显示在 Windows
2000/NT/XP 或 UNIX X-windows 中。
ConsoleUI 与文本用户界面(TextUI)不同,两者不能在同一程序中运行:
- 如果 TextUI 生效,则界面样式类似在与 3270
终端交互的大型机程序中使用的界面样式。该程序显示文本表单,但在用户从一个字段移至下一个字段时不会处理用户输入。当用户提交表单(在大多数情况下是通过按
Enter 键进行的),表单中的所有数据将返回至程序,只有此时程序才会验证数据;如果验证成功,程序将运行接下来的编码语句。
- 如果 ConsoleUI 生效,则界面样式类似在与基于字符的终端交互的基于 UNIX 的程序中使用的界面样式。程序显示控制台表单,并且在用户按
Tab 键以将屏幕上的光标移至下一个字段时立即响应用户事件。验证是按逐个字段进行的,您可以将光标限制在当前字段直到用户在其中输入了有效的数据。
使用 consoleUI 时,通常会编写如下程序:
- 声明基于一直可用的 ConsoleUI 部件的一组变量;不能定义特定于 ConsoleUI 的部件。
- 通过在调用相应的 EGL 函数时将 consoleUI 变量作为自变量加入来打开可视实体,如表单。或者,可以通过调用
EGL 函数(如 displayFormByName,它接受在运行时已知的名称)来打开可视实体。
- 在 EGL openUI 语句中引用可视实体,这允许通过输入特定事件(如用户击键)以获取特定逻辑来进行用户交互。
consoleUI 应用程序的用户可以按键来与屏幕上显示的内容进行交互,但单击鼠标不起作用。
ConsoleUI 可以接受用户输入到字段中的内容,但仅当指定
绑定(表示输入字段与基本类型的变量之间一致)时才会如此。EGL 运行时执行下列操作:
- 将变量值用作已显示字段的初始内容;并且
- 在用户离开该字段时将用户输入移至该变量。
ConsoleUI 还允许您以
行式与用户交互,行式是代码一次只读写一行的处理方式。行式的含义包括:
- 在 Eclipse 工作台中,用户与“控制台”视图交互
- 在使用命令提示符调用的程序中,用户与命令窗口交互
- 在 UNIX 中的 Curses 下运行的程序中,用户与显示用户界面的窗口交互;一般情况下,基于窗口的交互是被禁止的
ConsoleUI 相当于 Informix 4GL 产品中的用户界面技术。