为什么Java字体在macO上生成新进程?

问题描述 投票:-1回答:1
public static void main(String[] args) {

    Font arial = Font.getFont(ImmutableMap.of(TextAttribute.FAMILY, "Arial"));
    System.out.println(arial);
}

具有这个小程序,在我的Mac上执行该程序时,它将运行(我认为)出现在Dock上的另一个Java进程(请参见下图)。一旦主要方法结束,该图标就会消失。

enter image description here

任何人都知道为什么会发生这种情况以及如何消除它?

NB:此问题的起源是java POI HSSFSheet类。我正在Web应用程序中生成一些xls文件,当我调用HSSFSheet.autoSizeColumn时,该图标出现在Dock中(不调用autoSizeColumn时什么也没有发生)。当我遵循此问题时,我发现当POI调用Font.getFont时出现该图标。

环境:macOS Catalina:10.15.4Java版本“ 1.8.0_112”

java macos java-font
1个回答
1
投票

由于以下类别,它会暂时发生:

java.awt.Font;
java.awt.font.TextAttribute;

总之,使用AWT或Swing库的任何代码都会发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.