6 votes

Java et prise en charge de la rétine Mac

Est-ce que Java prend en charge l'affichage retina avec un rendu haute définition, par exemple pour le texte ? Ou est-il traité comme une application non modifiée, et donc soumise à la mise à l'échelle ?

6voto

Ryan J. McDonough Points 161

La version Java 6 JRE d'Apple prendra en charge HiDPI, cependant ce n'est pas actuellement pris en charge par la version Java 7 JRE d'Oracle. Il ne fonctionne pas non plus sous les dernières versions de développement de Java 8. Les applications Swing et JavaFX sont floues sur un MacBook Retinia. C'est pourquoi IntelliJ fonctionne toujours avec Java 6. Les applications Eclipse nécessiteront le mode PList mentionné par Jurriaan Mous. Les versions de développement d'Eclipse 4.3 ne nécessitent pas la modification.

5voto

Ned Points 141

De: https://bugs.eclipse.org/bugs/show_bug.cgi?id=382972

Voici la solution de contournement:

Faire "Afficher le contenu du paquet" sur Eclipse.app. Modifier Contents/Info.plist en utilisant votre éditeur de texte préféré. Juste avant

Placez ceci:

NSHighResolutionCapable

Ensuite, accédez au dossier dans lequel Eclipse est stocké et exécutez

touch Eclipse.app

pour que macOS remarque le changement.

Maintenant, la fenêtre d'informations ne montrera pas "Ouvrir en basse résolution" comme étant coché. Lancez Eclipse et profitez de votre nouvelle rétine étonnante.

3voto

seizureman Points 1

Je viens de tester ceci sur mon MacBook Pro avec écran Retina, donc la réponse est oui et non - du moins sous Mountain Lion.

Si vous utilisez Java directement à partir de la ligne de commande, la réponse est oui : il se lancera en mode HiDPI et rendra le texte en haute résolution. Les éléments rendus en utilisant Graphics2D seront affichés en mode haute résolution. (Donc, si vous affichez une ligne d'épaisseur de 0,5 pixels AWT et la placez à 0,25/0,75 d'un pixel AWT, elle affichera un seul pixel "rétinien" d'épaisseur.) De même, afficher une image à demi-résolution l'affichera à une résolution "rétinienne".

Donc, au lieu de simplement g.drawImage(image, x, y, observer) vous devriez faire :

g.drawImage(image, x, y,
    image.getWidth(observer)/2,
    image.getHeight(observer)/2, observer);

(Sauf si vous avez une largeur/hauteur impair, auquel cas vous devriez probablement utiliser Graphics2D et simplement scale(0.5, 0.5) pour afficher une image rétinienne.)

Si vous utilisez JavaApplicationStub, alors vous avez besoin de la réponse fournie par Matt Solnit, sinon il se lancera en mode "échelonné". (Sous Mountain Lion, il y a des manœuvres supplémentaires à effectuer liées à Gatekeeper, mais c'est une question différente.)

Notez que cette réponse s'applique à la fois à Mountain Lion et à la version de Java fournie par Apple pour celui-ci (Java 1.6.0_33). Cela peut être différent sous Java 7 d'Oracle pour Mac OS X, et cela peut ne pas fonctionner de la même manière sous Lion.

1voto

Robin Robinson Points 1031

Il est probablement traité comme non modifié, étant donné le nombre de questions posées sur l'apparence d'Eclipse et comment l'améliorer. (Eclipse fonctionne sur Java.)

1voto

Ken Points 304

À la boutique, j'ai écrit un HelloWorld en Swing et le texte est apparu correctement net Retina. (Je n'ai pas essayé SWT, qui nécessite plus de téléchargement pour configurer.)

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X