java.png

J'entends souvent dire que les interfaces graphiques en java sont forcémment moches, c'est faux !

La vérité c'est que le "look and feel" Metal par défaut n'est pas vraiment réussi. Mais il est tout à fait possible de changer ce look and feel au lancement de l'application ("Nimbus" par exemple, qui est déjà mieux)

Cependant pour moi la meilleure solution reste tout de même d'utiliser le look and feel du système quand il est disponible, afin d'obtenir une application totalement dans le thème du reste du système sur lequel elle tourne.

Pour ce faire, voici un bout de code, à appeler dans votre programme java avant l'initialisation de l'interface:

 public static void setBestLookAndFeelAvailable(){
   String system_lf = UIManager.getSystemLookAndFeelClassName().toLowerCase();
   if(system_lf.contains("metal")){
       try {
           UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
       }catch (Exception e) {}
   }else{
       try {
           UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
       }catch (Exception e) {}
   }
 }

Et voilà le résultat (même programme, sous linux puis sous mac)

baggle-2.2_linux.png baggle-2.1-mac.png