J'essaie d'exécuter une application Java (fichier JAR) sur un écran à haute résolution (DPI) sous Windows 10. L'application utilise Swing et n'est donc pas compatible avec la DPI. Normalement, lorsque j'exécute une application qui ne tient pas compte de la DPI, Windows la met à l'échelle pour moi, mais de façon floue. Mais pour une raison quelconque, l'application Java n'est pas mise à l'échelle ; j'obtiens juste une toute petite fenêtre dans le coin avec un texte impossible à lire. Comment puis-je exécuter une application Java avec la mise à l'échelle (floue) à haute résolution de Windows ?
Réponses
Trop de publicités?Vous devez définir PreferExternalManifest dans regedit et créer des manifestes personnalisés pour java.exe et javaw.exe comme indiqué dans la réponse suivante de stackoverflow. https://stackoverflow.com/a/39372897
La solution d'Elderry est bonne, mais que faire si vous voulez exécuter un fichier jar sous Windows et qu'il n'a pas d'options de compatibilité ?
Aller à C:\Program Fichiers (x86) \Java\jre\bin et trouvez javaw.exe. Cliquez à droite, propriétés, onglet compatibilité, cochez "override high DPI scaling behavior" et sélectionnez "System" (Notez que "System enhanced" n'a pas fonctionné pour moi).
Maintenant, le fichier jar Windows devrait être mis à l'échelle correctement avec un texte lisible. Si ce n'est pas le cas, cela peut signifier que Windows ne lie pas les fichiers de type jar à javaw.eve comme il le devrait. Un correctif tiers est disponible à l'adresse suivante : https://johann.loefflmann.net/en/software/jarfix/index.html
Essayez Java 10.
J'ai découvert que -Dsun.java2d.dpiaware=false ne fonctionne pas avec Java 9 ou 10. De même, pour Java 8 et 9, mon application swing est petite, mais Java 10 est correctement dimensionnée sous Windows !
Ainsi, pour une application que vous pouvez exécuter à partir d'un fichier bat comme : java -jar xxx.jar
Je viens d'ajouter JAVA_HOME=.... \java_10 et PATH=%JAVA_HOME%. \bin ;%PATH% dans le fichier bat.
java -jar xxx.jar
- Réponses précédentes
- Plus de réponses