Sunday, 1 July 2007

Comment adapter une application Java à Mac OS X

L'avantage de Java, c'est qu'on peut écrire une application sous (par exemple) Windows, et elle marchera sur Linux et OS X sans qu'on a d'efforts particulier à faire. Lorsqu'on double-clique sur le .jar, il s'exécutera. Pourtant le cas d'OS X est un peu particulier, car même si l'approche simple marche, il manque un peu d'élégance, parce que OS X a quelques propriétés supplémentaires qui doivent être pris en compte pour que notre application a l'air vraiment natif. Heureusement, seulement quelques petites modifications sont nécessaires pour créer une application OS X avec notre application Java, et le résultat est très satisfaisant.

Pour suivre ce tutorial, vous aurez besoin de :

  1. Une application swing compilé dans un ou plusieurs .jar
  2. Un ordinateur Apple avec les outils de développement installés

Première étape—Lorsqu'on exécute une application Java sous OS X, le comportement par défaut est d'afficher le nom de la classe comme nom de l'application. Ceci est gênant, parce que en OS X ce nom est affiché en haut de l'écran. Quand j'ai écrit mon appli "Dépenses", je voulais que le mot "Dépenses" s'affiche en haut, et non pas fr.craven.depenses.Main! Heureusement il suffit de saisir une propriété pour spécifier le nom qu'on veut, en argument à la JVM ou dans sa méthode main avec une ligne comme suit: System.setProperty("com.apple.mrj.application.apple.menu.about.name","Dépenses"); (Comme les JVM non-Apple ignoreront cette propriété, ça ne fait pas de mal de le saisir systématiquement dans vos applications Swing.)

Deuxième étape—Maintenant notre application a déjà meilleur mine, mais il utilise toujours l'icône par défaut, au lieu d'un icône particulier à notre application, et cet icône par défaut laisse à désirer: Alors pour donner un autre image, il faut créer un fichier .icns. Heureusement, l'opération est aussi simple que de glisser notre image (.png ou autre) dans Icon Composer, une application livrée avec les outils développeur, et qui créera le .icns pour nous:

Troisième (et dernière) étape—Il s'agit de prendre notre fichier .icns et nos .jar et les mettre dans une application OS X. Encore une fois, l'opération est très simple grâce aux outils fournis avec OS X. Il faut dire aussi qu'une application OS X n'est en réalité qu'un répertoire ayant une structure précise et des méta-données dont OS X se sert pour mieux afficher notre application.

Donc, tout ce qu'il faut faire c'est d'ouvrir Jar Bundler, qui se trouve dans /Developper/Applications/Java Tools/. L'interface n'est pas trop compliquée :

Il suffit de glisser son icône sur l'image, et de choisir son .jar en cliquant sur le bouton. S'il faut spécifier d'autres jar ou options, les autres onglets laissent faire tout ce qu'il faut. Et voilà, on a maintenant une application OS X que les utilisateurs peuvent déplacer et installer comme les autres, avec son propre icône et son nom qui s'affichent correctement!

Posted by jon at 3:31 PM in Java 
 
« July »
SunMonTueWedThuFriSat
1234567
891011121314
15161718192021
22232425262728
293031    
       
 
Non enim id agimus ut exerceatur vox, sed ut exerceat.