Как лучше всего обрабатывать пропущенные обязательные поля в редакторе Eclipse RCP? - PullRequest
2 голосов
/ 20 марта 2009

В приложении Eclipse RCP я создаю редактор, в котором некоторые поля являются обязательными.

Если пользователь сохраняет редактор с незаполненными тезисными полями, как лучше всего это сделать?

(мое первое предположение - показать диалоговое окно с ошибкой, если поля этих тезисов в методе doSave () пусты, но я не уверен, что это способ "затмения" для решения этой проблемы)

Ответы [ 3 ]

2 голосов
/ 20 марта 2009

Если вы рассматриваете какое-то диалоговое окно, например «Создать новый проект Java»,

  • вы просто не можете выполнять никаких действий (например, «Далее» или «Готово», пока не заполните одно обязательное поле («Название проекта»)
    Так что это отличается от проверки на событие doSave().

  • Если это поле недействительно (например, если имя проекта уже существует), в зоне вверху отображается предупреждение.

  • Если поле заполнено правильно, , тогда вы можете сохранить.

(Примечание: я знаю, что это не редактор, но он может дать вам представление об управлении обязательными полями в Eclipse)

альтернативный текст http://ds.informatik.uni -marburg.de / MAGE / gdt / images / tutorial / NewJavaProject.png

1 голос
/ 29 мая 2009

Вы можете использовать FieldDecorations, чтобы пометить обязательные поля и предоставить визуальную обратную связь, если содержимое поля неверно.

1 голос
/ 20 марта 2009

Я согласен с VonC и отключил бы кнопку «Сохранить», если пользователь заполнил все важные поля. Появится предупреждение о том, какие поля должен заполнить пользователь.

EDIT:

Создать компонент, который добавил себя в качестве прослушивателя изменений. Когда кто-то меняет компонент, вы можете проверить правильность ввода. Создайте окно со всеми компонентами самопроверки и добавьте окно в качестве прослушивателя для всех компонентов.

Когда кто-то меняет компонент, вы можете напрямую проверить, является ли введенный код действительным, и пользователь может перейти на следующую страницу или сохранить страницу.

В RCP (Пример FieldEditorPreferencePage) многие компоненты имеют методы doSave () и isValid (). В isValid () вы можете проверить все компоненты, которые вы можете найти в окне, а в doSave () вы можете проверить состояние isValid (), когда оно не выполняется автоматически, и выполнить некоторые дополнительные действия сохранения.

...