1 votes

Pourquoi une application Java sous OS X a-t-elle deux interfaces utilisateur différentes ?

Je cite 2 images de Google.

image1image2

Regardez les onglets. Ils sont totalement différents. Je viens de terminer ma migration vers OS X. J'ai toujours pensé qu'OS X offrait une interface utilisateur uniforme pour rendre les applications plus élégantes. De plus, comment faire pour que l'interface utilisateur de la deuxième image ressemble à celle de la première ?

3voto

yoliho Points 340

Le même code Java (en grande partie) fonctionne sur tous les systèmes d'exploitation et architectures. Il dispose de plusieurs API différentes pour dessiner des formulaires/fenêtres. Certaines de ces API, par exemple Swing, vous permettent de modifier l'aspect et la convivialité en émulant différents ensembles de widgets. Il est donc possible d'écrire un programme qui permette à l'utilisateur de modifier l'apparence et la convivialité.

Le look and feel fourni comprend OSX (comme dans la capture d'écran du haut) et Windows (plusieurs formes) ou Motif ou GTK. La façon de définir cela dans Swing et pour plus d'informations, voir ceci Document Oracle Notez que même le look and feel d'OSX ne correspond pas entièrement aux directives d'Apple, par exemple le positionnement du menu dans la fenêtre et non en haut de l'écran.

Comme tout système de fenêtrage, il est toujours possible d'écrire des programmes dont le comportement et l'apparence diffèrent de la norme attendue. Il se trouve que pour OSX la plupart des développeurs s'en tiennent aux directives d'Apple, mais même en utilisant les API fournies par Apple vous pouvez avoir une sensation différente entre les programmes Carbon(originellement Mac OS <= 9) et Cocoa(originellement NeXT). L'AppStore permet à Apple d'avoir un peu plus de contrôle mais je ne sais pas si le respect des directives d'affichage est réellement vérifié.

0voto

Oskar Points 1242

Java est simplement le conteneur et le langage choisis par le programmeur pour décrire la manière dont une image doit être dessinée. L'utilisation de Java signifie que le développeur n'a pas tenu compte des éléments d'interface standard d'OS X qu'Apple fournit aux développeurs avec les documents d'orientation sur l'interface utilisateur. Cet exemple est précisément la raison pour laquelle le code java est souvent considéré comme un citoyen de seconde zone par les personnes qui s'attendent à ce que les logiciels de qualité Apple fonctionnent sur leur Mac.

Pensez à un restaurant. Les instructions données au personnel pourraient être écrites en français et les récipients dans lesquels la nourriture est livrée pourraient être des boîtes en papier plié recouvertes de cire à l'extérieur. Cela ne changerait toujours pas ce que vous obtenez si une recette était pour la cuisine italienne du nord ou la cuisine indienne du nord.

Java n'impose pas à lui seul l'aspect d'un bouton, mais seulement la bibliothèque et le code permettant de dessiner l'interface graphique. Dans votre exemple, différents ingrédients ont été placés dans le même récipient, avec les différents résultats escomptés.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X