我有相当大的摇摆界面(几个文本框,组合框,复选框,自定义弹出对话框等)和一个数据模型,当ui控件更改时必须更改:新文本输入文本框,单击复选框等
问题是:组织输入值的更新+验证的最佳做法是什么。
不幸的是我不能像beanbinding那样使用绑定框架。
答案 0 :(得分:2)
为组件添加适当的侦听器,并在触发事件时更新模型。
或者设计您的UI,以便只有在单击保存或确定按钮时才能将所有内容保存到模型中。这也有助于验证,因为您只需要在单击按钮时立即验证所有内容。
答案 1 :(得分:2)
将JB Nizet的答案与组件中的验证结合起来,例如使用JFormattedTextField
(或此增强版本)。您也可以使用JFormattedTextField
作为JComboBox
实例的编辑器。您可以向JSlider
个实例添加验证。
简而言之,当用户键入无效值时,会立即向用户提供反馈。结合模型方面的验证可以很好地应用。
这可以与现代网站进行比较:使用javascript进行客户端验证,为用户提供即时反馈+验证服务器端验证(不通过用户界面),或避免讨厌的用户绕过客户端验证