0
次のスクリプトで読み取れないprintlnとは対照的に、返される値を取得するにはどうすればよいですか? 私はFilemaker内でGroovyを使用していますので、明示的に '答え'、つまりパスワードまたはTRUEを返す必要があります。また、正しいパスワードが入力されるまでコードを待機させる方法を理解していないようです。swingbuilderから値を返します
import groovy.swing.SwingBuilder
import java.awt.event.ActionListener
import java.awt.event.ActionEvent
import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE
count = 2
def answer
SwingBuilder.build{
frame(id:'root', title:'Enter your PASSWORD', location:[100,100], show:true, pack:true, defaultCloseOperation:DISPOSE_ON_CLOSE){
//lookAndFeel 'nimbus'
flowLayout()
label('Password')
passwordField(id:'pass', columns:12)
button('click', actionPerformed:{
ActionEvent e->
if (pass.text == 'password'){
optionPane().showMessageDialog(root, 'OK')
//RETURN something at this point only when I get here
dispose()
} else if (count == 1) {
optionPane().showMessageDialog(root, 'INCORRECT PASSWORD\nPROCEDURE HALTED', 'PASSWORD', 2)
dispose()
} else {
count--
message = count ==1 ?'try':'tries'
optionPane().showMessageDialog(root, "${count} ${message} left", 'NOT VALID', 0)
}// end if
pass.text=''
}// end action
)// end button
}
}