通过单击/toch外部防止swing对话框自行关闭

通过单击/toch外部防止swing对话框自行关闭,swing,gradle,Swing,Gradle,我在gradle中有如下要求通行证的定义: def askPass() { def msg = 'Please enter the passphrase for the keyfile:' def console = System.console() return console != null ? console.readPassword('%s: ', msg) : javax.swing.JOptionPane.showInp

我在gradle中有如下要求通行证的定义:

def askPass() {
    def msg = 'Please enter the passphrase for the keyfile:'
    def console = System.console()
    return console != null
          ? console.readPassword('%s: ', msg)
          : javax.swing.JOptionPane.showInputDialog(msg)
}
我用它来收集一些任务即将结束时的通行证-任务从终端中的IDE(intellij)运行(gradle myTask)-因此它是一个独立的、与idee进程无关的过程,通常情况下,对话框会打开,我可以编写pas,但有时当任务需要很长时间时,我会从IDE中移出IDE来做一些其他事情,从IDE中移出一个焦点,当任务结束时,它会调用def来请求通过并获得焦点,然后在所有内容之上弹出对话框(linux操作系统上的im)

现在说到重点:

当我做某件事,弹出对话框时,有时我的反应不快,或者我的手比眼睛快,因为我被其他工作吸引住了-我在对话框区域外单击,弹出的对话框消失-没有按钮被点击。。。现在弹出窗口消失,任务未完成,等待输入。。。(这看起来像单击“外部”关闭对话框,关闭结果不被处理)在该def中

因此,我的问题是:


在未使用“取消”或“确定”按钮之前(通过单击/选择/接受),如何使弹出窗口不可取消

我相信您正在寻找。它强制用户在离开上一个窗口之前选择一个选项。在您的情况下,您应该使用而不是javax.swing.JOptionPane。

所有小写字母键入的单词都很难阅读,就像试图听别人喃喃自语一样。请在句子开头使用大写字母表示单词I,并使用专有名称,如
ArrayList
或Oracle。请添加语言标记