0 votes

Problème de l'aspect et de la convivialité de Java FX

Je regardais certains des exemples du livre de Deitel et Deitel pour la programmation en Java, et l'un des premiers exemples est un affichage Swing très simple. D'où ce bout de code :

   import javax.swing.*; 

    public class cdea {     

public static void main(String args[]){
                    JOptionPane.showMessageDialog(null,"\"Welcome to Java Programming!\"");
                    System.exit(0);

          //end method main
    }
    }

J'ai lu des articles sur la façon dont on peut obtenir l'aspect et la sensation d'une interface utilisateur native en utilisant

UIManager.setLookAndFeel(
            UIManager.getSystemLookAndFeelClassName());

au programme. Cependant, lorsque je l'ajoute simplement à ma méthode principale, cela me donne une foule d'erreurs. Plus précisément :

M - Exception non gérée de type IllegalAccessException - Exception non gérée de type InstantiationException - Exception non gérée de type ClassNotFoundException - Exception non gérée de type UnsupportedLookAndFeelException

Cependant, lorsque je l'utilise dans le cadre d'une boucle d'exception try/catch (c'est ainsi qu'elle s'appelle ?), comme indiqué sur le site Web de la Commission européenne. http://stackoverflow.com/questions/1590863/getting-java-applications-to-look-native-on-Windows-how j'ai réussi à faire fonctionner le programme correctement.

Quelqu'un pourrait-il me dire en langage simple pourquoi il en est ainsi ? Par exemple, pourquoi ne puis-je pas obtenir directement l'aspect et la convivialité de System ; pourquoi dois-je l'utiliser avec la gestion des exceptions ? Je suis novice en Java et dans la POO en général, alors je suis désolé si je suis trop simpliste.

1voto

Powerlord Points 43989

Java dispose de deux grands types d'exceptions : les exceptions vérifiées et les exceptions non vérifiées.

Vous devez disposer d'un code pour traiter les exceptions vérifiées. En règle générale, la documentation d'une méthode indique quelles exceptions vérifiées elle peut lancer.

Dans ce cas, UIManager.setLookAndFeel est décrit comme suit :

public static void setLookAndFeel(String className)
                           throws ClassNotFoundException,
                                  InstantiationException,
                                  IllegalAccessException,
                                  UnsupportedLookAndFeelException

Vous avez deux choix : Traiter chacune de ces exceptions dans des blocs catch séparés, ou les traiter dans un seul bloc catch qui attrape Exception. Dans ce cas, je pense qu'il est préférable de les gérer dans un seul bloc, car Swing reviendra par défaut à l'apparence multiplateforme s'il ne peut vraiment pas changer les L&F.

try {
    UIManager.setLookAndFeel(
              UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
    // Any handling you want to do here, possibly logging
    // Optionally, you could just do... nothing.
}

Remarque : Il existe un deuxième setLookAndFeel qui ne lève qu'un seul type d'exception, mais vous ne l'utilisez pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X