Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

I just became aware that AWT / Swing under Java JDK 1.7 (as of JDK 7u15) does not support Retina displays on Apple Macbook Pros. Netbeans, for example, is nearly unbearable to use for more than a few minutes running on a Retina display and using JDK 1.7.

This has been somewhat addressed in a StackExchange question here, and quoting one specific post:

Apple's Java 6 JRE will support HiDPI, however it is not currently supported by Oracle's Java 7 JRE. It also doesn't work under the latest dev builds of Java 8. Swing and JavaFX apps are blurry on a Retinia MacBook. This is why IntelliJ still runs under Java 6.

My question is more specific than what is asked by the OP of the above thread.

My employer of less than a month uses Swing in all of its applications. For several reasons we are interested in migrating to Java 7 from Java 6. Within the last several days, another developer (who is on Windows), moved our platform over to Java 7. As I'm running a retina Macbook Pro, I noticed the issue when I pulled the latest stable branch of our code.

I am new to Java with less than a year of experience in the community, hence my question: Will the Java community be fairly responsive to this issue moving forward, or should a substantial delay be anticipated (months to a year or more) before Swing in Java 7 is compatible with Apple Retina displays?

like image 963
kalefranz Avatar asked Mar 03 '13 00:03

kalefranz


2 Answers

Java 7u40 Early Access now supports HiDPI (Retina) displays, as shown by this changelog. So retina support is now available on:

  • Java 6
  • Java 7u40ea or greater
  • Java 8
like image 63
Thunderforge Avatar answered Oct 17 '22 11:10

Thunderforge


last month I was also interested in the same topic and after some time I found out on net that nobody can answer the question exactly.

There is an open bug for this at Oracle: http://bugs.sun.com/view_bug.do?bug_id=8000629

According to that it should be fixed for Java 1.8. But what I am afraid of is that I am not sure if it also will be fixed for Swing or only for JavaFX. I read somewhere that there is already fix for JavaFX (but not sure if official), which doesn't solve the problem for Swing.

To answer short, after some days of searching on internet unfortunately I couldn't find the answer ...

Regards, Lubos

like image 44
Lubos Avatar answered Oct 17 '22 11:10

Lubos