【问题标题】:Java Swing Application font loads as a jar but not in IntellijJava Swing 应用程序字体作为 jar 加载,但在 Intellij 中不加载
【发布时间】:2015-11-12 19:32:48
【问题描述】:

我刚刚从 IntelliJ 14 升级到 IntelliJ 15,现在我的 Java Swing 字体无法加载。

自上次编译以来,我没有更改任何代码,如果将程序编译到 Jar 中,程序可以正常工作,但不是通过 IntelliJ 的 Run 命令。我使用 Courier 作为字体(我的程序需要字体等宽对齐)。

任何想法为什么字体不会在两个版本之间或 IDE 和 JAR 之间加载?

为了完整起见,这里是加载字体的代码:

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

附:我找不到任何其他适合的论坛,这是我在其他帖子中找到的相反问题。

【问题讨论】:

  • 字体存储在哪里?项目结构如何?
  • Courier 内置在所有操作系统中,所以我没有单独下载它。所有的类都在 jar 的根目录中。没有其他资源。此外,它工作正常,我没有通过 IntelliJ 15(14 和作为独立)运行它。操作系统是 Windows 10 Home 64 位。 JDK 1.8 u66

标签: java swing intellij-idea fonts


【解决方案1】:

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

我通过调用动态字体来解决它,在本例中为new Font("Monospaced",Font.PLAIN,12)。它需要系统可以访问的最合适的字体,即等宽字体。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2013-11-27
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    相关资源
    最近更新 更多