2013-12-10 2 views
2

Я создаю диалоговое окно входа для плагина eclipse, и мне было интересно, как лучше всего проверить, не выполнено ли какое-либо условие, прежде чем вы сможете отправить диалог. В настоящее время я переопределяю функцию okPressed(), а затем не запускаю суперфункцию до тех пор, пока условия не будут выполнены.Сделать кнопку unclickable до тех пор, пока не будут выполнены определенные условия в TitleAreaDialog?

Это, к сожалению, не идеально, потому что у пользователя нет указаний на то, что не так.

Любые идеи?

+0

Что значит отправить диалог? значит, вы нажимаете кнопку «Отправить» в диалоговом окне «Ваш»? ваш вопрос слишком расплывчатый :) –

+0

Yup Я имел в виду, когда я нажимаю кнопку «ОК». – Ramis

ответ

5

Вы можете отключить кнопку OK, используя что-то вроде:

Button ok = getButton(IDialogConstants.OK_ID); 
if (ok != null) 
    ok.setEnabled(false); 

Вы можете установить сообщение в верхней части диалогового окна с помощью

setMessage("message", type); 

type может быть IMessageProvider.ERROR, IMessageProvider.WARNING, IMessageProvider.INFORMATION или IMessageProvider.NONE ,

Таким образом, вы можете добавлять слушателей в свои поля ввода и каждый раз, когда поле изменяет обновление, сообщение и кнопку «ОК» активируют состояние по мере необходимости.

+0

Как включить кнопку автоматически после ввода правильного ввода? (например, имя пользователя и пароль не пусто) – Ramis

+0

Добавлена ​​информация о слушателях. –

0

Чтобы показать вам предупреждение/предупреждение, вы можете использовать TitleAreaDialog.setMessage() с сообщением и типом сообщения.

Смежные вопросы