如何知道 Groovy 控制台 window 已经关闭

How to know that Groovy console window has been closed

我将通过以下代码在 运行 时间内启动 groovy 控制台 window。假设用户关闭了 groovy 控制台 window。我想在我的程序中检测 window 的关闭。

import groovy.ui.Console
public class TestGroovyConsole{
    public static void main(String[] args){
        int x = 5;
        Console console = new Console();
        console.setVariable("x",x);// to make x available in console
        console.run(); // to launch console
    }

}

请提出可能的解决方案。 groovy 是否为此提供了任何方法?

您应该可以添加 WindowAdapter:

import groovy.ui.Console
import java.awt.event.WindowAdapter

class TestGroovyConsole{
    static main(args){
        int x = 5
        Console console = new Console()
        console.setVariable("x",x) // to make x available in console
        console.run() // to launch console
        console.frame.addWindowListener([windowClosing: { e -> println "Console closing" }] as WindowAdapter)
    }
}