Projet Swing export to jar (images pixélisées ?)
Résolu
mikis69
Messages postés
168
Date d'inscription
Statut
Membre
Dernière intervention
-
mikis69 Messages postés 168 Date d'inscription Statut Membre Dernière intervention -
mikis69 Messages postés 168 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
J'ai un petit problème tout bête surement mais je ne trouve pas la solution.
En fait j'ai un projet SWING qui fonctionne très bien et qui ressemble à cela lorsque je le lance via "Eclipse" :

Et une fois exporter via Eclipse (export -> runnable jar file -> extract librairies....) et une fois mon jar exporté, voici à quoi le programme ressemble :

Comme on peut le voir, la JFrame n'a pas la même taille et on dirait qu'il y a un zoom.. d'où le fait que j'ai l'impression que mes icones (images) ne sont pas nettes et ne sont pas belles.. Bon, certains diront que "ça se voit pas trop" mais pour moi, ça me dérange, c'est pas top..
Avez-vous une idée de pourquoi il y a ce changement ? :(
Merci beaucoup,
Mikis
J'ai un petit problème tout bête surement mais je ne trouve pas la solution.
En fait j'ai un projet SWING qui fonctionne très bien et qui ressemble à cela lorsque je le lance via "Eclipse" :

Et une fois exporter via Eclipse (export -> runnable jar file -> extract librairies....) et une fois mon jar exporté, voici à quoi le programme ressemble :

Comme on peut le voir, la JFrame n'a pas la même taille et on dirait qu'il y a un zoom.. d'où le fait que j'ai l'impression que mes icones (images) ne sont pas nettes et ne sont pas belles.. Bon, certains diront que "ça se voit pas trop" mais pour moi, ça me dérange, c'est pas top..
Avez-vous une idée de pourquoi il y a ce changement ? :(
Merci beaucoup,
Mikis
A voir également:
- Projet Swing export to jar (images pixélisées ?)
- Qwerty to azerty - Guide
- Roissy piac export ✓ - Forum Consommation & Internet
- Filigrane projet - Guide
- Des images - Guide
- Ouvrir .jar ✓ - Forum Java
2 réponses
Bonjour,
Il n'y a pas vraiment de raison qu'il y ait des différences, à part si tu as des options supplémentaires dans ton launcher Eclipse qu'il faudrait répercuter dans ton jar, ou alors tout simplement une histoire de version de Java, car dans Eclipse tu utilises le JDK alors qu'avec un jar tu utilises la JRE et que les deux ne sont pas forcément dans la même version.
Il n'y a pas vraiment de raison qu'il y ait des différences, à part si tu as des options supplémentaires dans ton launcher Eclipse qu'il faudrait répercuter dans ton jar, ou alors tout simplement une histoire de version de Java, car dans Eclipse tu utilises le JDK alors qu'avec un jar tu utilises la JRE et que les deux ne sont pas forcément dans la même version.
Rebonjour, je me suis permis de reouvrir le poste car je ne sais pas résoudre mon problème ..
Comme KX a expliqué, c'est bien un problème provenant du jdk supérieur à 8.
Néanmoins, je pensais qu'en passant sur une application javafx, je n aurai plus le problème d'affichage flou/incorrect.
J'ai fait une petite application javafx (sur éclipse en configurant le projet ppour utiliser le jdk 9) et le problème est toujours le même.
Que pensez-vous que je puisse faire ? Car je suis totalement perdu actuellement ..
Merci pour vos réponses,
Mikis
Comme KX a expliqué, c'est bien un problème provenant du jdk supérieur à 8.
Néanmoins, je pensais qu'en passant sur une application javafx, je n aurai plus le problème d'affichage flou/incorrect.
J'ai fait une petite application javafx (sur éclipse en configurant le projet ppour utiliser le jdk 9) et le problème est toujours le même.
Que pensez-vous que je puisse faire ? Car je suis totalement perdu actuellement ..
Merci pour vos réponses,
Mikis
Que pensez-vous que je doive faire afin d'obtenir le même résultat des deux côtés ? Changer Eclipse pour utiliser le JRE ? Ou bien exporter mon projet avec un autre IDE ?
En commençant par exemple, par afficher la version de Java que tu lances, ainsi que l'ensembles des options de JVM qui sont implicitement utilisées afin de repérer la différence entre tes deux programmes.
Exemple :
Ceci étant dit, ton bug ressemble surtout à un mauvais dimensionnement de la fenêtre au démarrage, il faudrait peut-être juste forcer la taille de la fenêtre en reprenant celles qui te conviennent.
Voilà comment est-ce que je choisis la taille de ma fenêtre..
Ensuite, lorsque j'exécute le programme avec le morceau de code que vous m'avez donné, j'obtiens l'output suivant (lancé depuis Eclipse) :
et l'output lorsque j'exécute mon jar en ligne de commande (java -jar coiffeur.jar)
D'après vous, où est ce que je dois regarder ? Car un gros texte comme cela ne me dit absolument rien..
Merci pour votre aide :)
Donc le problème vient de Java 9, a priori ce n'est pas un bug, c'est volontaire :
https://bugs.openjdk.java.net/browse/JDK-8055212
Tu peux essayer ce contournement : https://stackoverflow.com/questions/43057457/jdk-9-high-dpi-disable-for-specific-panel
Remarque : depuis Java 8 (et donc 9 aussi), l'API officielle pour faire des applications de bureau c'est Java FX, on peut encore utiliser AWT/Swing mais il n'y aura plus d'évolutions dessus.
Je ne pourrai pas essayer de régler le soucis pour l'instant mais très bientôt pour vous tenir au courant.
Une autre question, puisque vous me dites que maintenant, c'est Java FX qui est utilisé pour faire des applications de bureau. Est-ce très différents de Swing ? Est-ce que c'est plus "beau" visuellement ?Quelles sont les différences principales ?
EDIT : Est-ce possible de forcer mon jar à s'executer avec une version moins récente de java ? Sachant que je ne sais pas ce qu'il y aura comme version de java sur le pc "client".. ou comment transformer mon programme java en une application utilisable sur n'importe quel ordinateur ?
Merci encore.