【发布时间】:2019-07-01 15:19:03
【问题描述】:
当我从java.awt 实例化一个对象时,程序会打开一个名为“Java”的新 macOS 应用程序,它没有窗口。
我怎样才能防止这种情况发生?
这是一个最小的例子:
import java.awt.Rectangle;
public class Main {
public static void main(String[] args) {
Rectangle rect = new Rectangle();
}
}
以最规范的方式(javac Main.java; java Main)编译运行后,Dock中出现如下图标:screenshot
我已经跟踪了代码,违规方法是Toolkit.loadLibraries()(JDK 1.8.0_172-b11)。
【问题讨论】:
-
简短回答,你不能。这就是 MacOS 的工作原理。 “长”答案将要求您生成一个 .app 包:/
-
@MadProgrammer 我明白了,谢谢。出于好奇,您是否有阅读 .app 捆绑包的参考资料? (谷歌搜索“.app bundle”而不搜索“app bundle”非常困难)
-
尝试类似java apple app bundle 和java apple app bundle icon 的东西,不,这并不容易:/
-
@MadProgrammer 啊是的,这正是我想要的,谢谢!您确实可以配置awt。我会回答的:)