当调用java.awt.Color时,终端失去了对Mac OS X的关注*

当调用java.awt.Color时,终端失去了对Mac OS X的关注*,java,macos,awt,Java,Macos,Awt,我正在用java编写一个命令行程序,并将java.awt.Color用于实用目的(不涉及GUI)。但当我引用java.awt.Color.RED(例如)时,它会导致终端失去焦点。这只发生在Mac上,在Linux和Windows上运行良好。我怀疑静态初始值设定项是问题所在,但我不确定从这里开始该怎么办,因为这不是一个我可以调试的问题(因为如果终端没有焦点,问题就不会发生) 下面是一个演示该问题的小代码段。(构建jar,然后从终端运行它。) 公共类沙箱{ 公共静态void main(字符串[]arg

我正在用java编写一个命令行程序,并将java.awt.Color用于实用目的(不涉及GUI)。但当我引用java.awt.Color.RED(例如)时,它会导致终端失去焦点。这只发生在Mac上,在Linux和Windows上运行良好。我怀疑静态初始值设定项是问题所在,但我不确定从这里开始该怎么办,因为这不是一个我可以调试的问题(因为如果终端没有焦点,问题就不会发生)

下面是一个演示该问题的小代码段。(构建jar,然后从终端运行它。)

公共类沙箱{
公共静态void main(字符串[]args)引发异常{
System.out.println(“注意,我们现在有焦点,在5秒内调用System.out.println(Color.RED)”;
睡眠(5000);
System.out.println(java.awt.Color.RED);
System.out.println(“注意焦点已经丢失。”);
睡眠(5000);
System.out.println(“结束程序”);
}
}

看看你的Dock,你会发现你的应用程序会产生一个Java图标,现在它有了焦点。我想你是对的,这与调用
Color
构造函数和初始化基本gui内容有关。对,我想问题是,如何防止这种情况发生,或者,如何让终端重新聚焦。那么,你喜欢使用终端,那么您不需要调用AWT/Swing,因为它无论如何都不会显示。因此,考虑编写自己的基本代码<代码>颜色<代码>类,它确实需要什么,而不是其他东西(比如加载GUI库)。在这种情况下,这是一个选项,因为它是我自己的代码,但是我想知道如果这是第三方代码,解决方案是什么。看看你的坞,你的应用程序将产生一个java图标,现在有焦点了。我想你是对的,这与调用
Color
构造函数和初始化基本gui内容有关。对,我想问题是,如何防止这种情况发生,或者,如何让终端重新聚焦。那么,你喜欢使用终端,那么您不需要调用AWT/Swing,因为它无论如何都不会显示。因此,考虑编写自己的基本代码<代码>颜色<代码>类,它完全符合您的需要,而不需要其他东西(比如加载GUI库)。在这种情况下,这是一个选项,因为它是我自己的代码,但我想知道如果这是第三方代码的话,解决方案是什么。