Java Swing应用程序字体作为jar加载,但不在Intellij中加载

Java Swing应用程序字体作为jar加载,但不在Intellij中加载,java,swing,intellij-idea,fonts,Java,Swing,Intellij Idea,Fonts,我刚刚从Intellij14升级到Intellij15,现在我的Java Swing字体无法加载 自上次编译以来,我没有更改任何代码,如果将程序编译到Jar中,但不是通过IntelliJ的Run命令,则程序运行良好。我使用Courier作为字体(我的程序需要对齐的字体空间) 你知道为什么字体不能在两个版本之间或者IDE和JAR之间加载吗 为了便于完成,下面是加载字体的代码: output = new JTextArea(15,15); output.setEditable(false); out

我刚刚从Intellij14升级到Intellij15,现在我的Java Swing字体无法加载

自上次编译以来,我没有更改任何代码,如果将程序编译到Jar中,但不是通过IntelliJ的Run命令,则程序运行良好。我使用Courier作为字体(我的程序需要对齐的字体空间)

你知道为什么字体不能在两个版本之间或者IDE和JAR之间加载吗

为了便于完成,下面是加载字体的代码:

output = new JTextArea(15,15);
output.setEditable(false);
output.setFont(new Font("Courier", Font.PLAIN,12));

顺便说一句,我找不到任何其他论坛适合这一点,这与我在其他帖子中找到的正好相反。

我意识到,由于IntelliJ的运行时与常规系统是分开的,因此它可以监视和调试程序,它不会定期访问系统字体(至少在这次新的更新中)


我通过调用动态字体解决了这个问题,在本例中是
新字体(“单间距”,font.PLAIN,12)
。它需要系统能够访问的最合适的字体,即monospace。

字体存储在哪里?项目是如何组织的?Courier内置于所有操作系统中,因此我没有单独下载它。所有类都在jar的根目录中。没有其他资源。此外,它工作良好,她说我不是通过Intellij15(14和作为一个独立的)运行它。操作系统是Windows 10 Home 64位。JDK1.8U66