在 Eclipse RCP 应用程序上,我正在构建一个编辑器,其中一些字段是必需的。
如果用户在未填写这些字段的情况下保存编辑器,处理此问题的最佳方法/实践是什么?
(我的第一个猜测是如果 doSave() 方法中的这些字段为空,则显示错误对话框,但我不确定这是处理此类问题的“eclipse”方式)
在 Eclipse RCP 应用程序上,我正在构建一个编辑器,其中一些字段是必需的。
如果用户在未填写这些字段的情况下保存编辑器,处理此问题的最佳方法/实践是什么?
(我的第一个猜测是如果 doSave() 方法中的这些字段为空,则显示错误对话框,但我不确定这是处理此类问题的“eclipse”方式)
如果您考虑一些对话框,例如“创建新的 Java 项目”,
在填写一个必填字段(“项目名称”)之前,您根本无法执行任何操作(例如“下一步”或“完成”)
因此它与检查doSave()
事件不同。
如果该字段无效(例如项目名称已存在),则会在顶部区域中显示警告。
如果该字段填写正确,则可以保存。
(注意:我知道这不是编辑器,但它可以让你了解 eclipse 中的必填字段管理)
替代文字 http://ds.informatik.uni-marburg.de/MAGE/gdt/images/tutorial/NewJavaProject.png
我同意 VonC 并会禁用“保存”按钮,只要用户已提交所有重要字段。显示用户必须填写哪些字段的警告会有很大帮助。
编辑:
创建一个将自己添加为更改侦听器的组件。当有人更改组件时,您可以检查输入是否正确。创建一个包含所有自检组件的窗口,并将该窗口作为侦听器添加到所有组件。
当有人更改组件时,您可以直接检查输入是否有效,用户可以跳到下一页或保存页面。
在 RCP(例如 FieldEditorPreferencePage)中,很多组件都有 doSave() 和 isValid() 方法。在 isValid() 中,您可以检查在窗口中可以找到的所有组件,在 doSave() 中,您可以检查 isValid() 状态,当它没有自动完成时,并执行一些额外的保存操作。
您可以使用 FieldDecorations 标记必填字段并在字段内容不正确时提供视觉反馈。