Apple Retina Display Support in Java JDK 1.7 for AWT / Swing

2022-09-01 20:49:51

我刚刚意识到Java JDK 1.7下的AWT / Swing(截至JDK 7u15)不支持Apple Macbook Pros上的Retina显示屏。

这已经在这里的StackExchange问题中得到了一些解决,并引用了一篇特定的帖子:

苹果的Java 6 JRE将支持HiDPI,但目前甲骨文的Java 7 JRE不支持它。它也不适用于Java 8的最新开发版本。Swing和JavaFX应用程序在Retinia MacBook上很模糊。这就是为什么IntelliJ仍然在Java 6下运行的原因。

我的问题比上述线程的OP所提出的问题更具体。

我不到一个月的雇主在其所有应用程序中都使用Swing。出于几个原因,我们有兴趣从 Java 6 迁移到 Java 7。在过去的几天里,另一位开发人员(使用Windows)将我们的平台转移到了Java 7。当我运行retina Macbook Pro时,当我提取代码的最新稳定分支时,我注意到了这个问题。

我是Java的新手,在社区中只有不到一年的经验,因此我的问题是:Java社区是否会对这个问题做出相当的反应,或者是否应该在Java 7中的Swing与Apple Retina显示器兼容之前预计会出现大幅延迟(数月至一年或更长时间)?


答案 1

Java 7u40 抢先体验现在支持 HiDPI(视网膜)显示,如本更新日志所示。因此,视网膜支持现在可用于:

  • 爪哇 6
  • Java 7u40ea 或更高版本
  • 爪哇 8

答案 2

上个月,我也对同一个话题感兴趣,一段时间后,我在网上发现没有人能确切地回答这个问题。

在Oracle上有一个开放的错误:http://bugs.sun.com/view_bug.do?bug_id=8000629

根据这一点,它应该在Java 1.8中修复。但我担心的是,我不确定它是否也会为Swing修复或仅针对JavaFX进行修复。我在某处读到已经有针对JavaFX的修复程序(但不确定是否是官方的),这并不能解决Swing的问题。

简而言之,经过几天在互联网上搜索,不幸的是我找不到答案......

问候, 卢博斯


推荐