2013-06-18 8 views
0

В настоящее время я использую Gradle Plugin для Eclipse (STS). Я пытаюсь получить некоторые пользовательские данные для настройки задачи. С демоном есть проблемы с чтением пользовательского ввода. Итак, я попытался использовать Groovy Pop up.Gradle: как получить пользовательский ввод

У меня есть одна задача, которая призвана строить и показывать всплывающее окно.

task getUserInfo << { 
    def sb = new SwingBuilder() 
    sb.frame(title: 'Info', 
      location: [400, 50], 
      pack: true, 
      show: true, 
      defaultCloseOperation: JFrame.EXIT_ON_CLOSE) { 
     gridLayout(columns: 2, rows: 4) 
     label('First name:') 
     textField(id: 'firstName')  

     label('Last name:') 
     textField(id: 'lastName') 

     button(text: 'Enter', actionPerformed: { 
     myGlobalVariable = "info: ${firstName.text} ${lastName.text}" 
    } 

Кроме того, я создаю еще одну задачу: task deploy(dependsOn: getUserInput) { doLast {...} }. В этой задаче я пытаюсь прочитать глобальную переменную, содержащую результат ввода пользователя. Но проблема в том, что Gradle продолжает задачу развертывания, не дожидаясь ввода.

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

Спасибо за любую помощь.

+0

Попробуйте этот пример от Tim Roes. https://www.timroes.de/2014/01/19/using-password-prompts-with-gradle-build-files/ – Piohen

ответ

0

Это действительно вопрос Swing, а именно, как создать модальный диалог. Getting the User's Input from a Dialog имеет пример.

+0

Извините за мой поздний ответ. Я изменил это на модальный диалог, и теперь его работы отлично. спасибо за помощь – naike

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