IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Assurer une compatibilité Mac


Sujet :

Java

  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut Assurer une compatibilité Mac
    Bonjour,

    je développe une appli basée principalement sur du Swing/XML.

    Je n'ai pas de Mac à ma disposition mais j'aimerais mettre toutes les chances de mon côté pour que mon appli puisse tourner dessus.

    N'ayant jamais été confronté au problème, je me tourne vers vous pour savoir s'il y a des choses à faire ou à ne pas faire pour que ça marche.

    Certaines API sont-elles à éviter? existe-t-il certaines pratiques à adopter (comme utiliser File.separator pour les chemins par exemple) ?

    En bref, j'ai mon appli qui tourne sur Linux/Windows, comment je m'assure qu'elle tournera sous Mac?

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Globalement, il y a les mêmes règles à respecter que pour Windows/Linux...


    La grosse différence qui me vient en tête concerne les touches des accelerateurs : Sous Windows/Linux on utilise généralement la touche "Control", par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_MASK));
    Le problème étant que sous Mac on devrait utiliser la touche "Command". En fait il ne faudrait pas utiliser CTRL_MASK en dur mais la valeur retourné par getMenuShortcutKeyMask() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    final int SYSTEM_MASK = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
    saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, SYSTEM_MASK));

    Pour le reste c'est surtout de l'esthétisme, comme le fait d'utiliser le lookandfeel système pour une meilleure intégration, ou encore de déplacer les barre de menu dans la zone prévu à cet effet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // On déplace la barre de menu :
    System.setProperty("apple.laf.useScreenMenuBar", "true");
    // On donne un nom à cette barre de menu :
    System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Le Nom de ton appli");
    a++

  3. #3
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    En ce qui concerne les chemins qui n'ont pas à être visible pour l'utilisateur tu peux tout simplement utiliser / partout (même sous windows).
    Ensuite tout ce qui est full java est utilisable sous mac.

    En ce qui concerne la partie Swing, soit tu restes avec des composants qui sont prévus pour utiliser le L&f aqua si tu veux utiliser le L&F natif (ça devrait passer pour la plupart des grosses librairies de composants genre Swingx ou JIDE), soit tu pars sur un L&F cross platform de ton choix.

    Pour plus d'infos sur l'intégration d'une appli swing dans l'univers mac:
    http://developer.apple.com/documenta...uid/TP40001883

    Et surtout cette série de tutos de chez sun:
    http://java.sun.com/developer/techni...aLP/JavaToMac/
    http://java.sun.com/developer/techni...LP/JavaToMac2/
    http://java.sun.com/developer/techni...LP/JavaToMac3/
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  4. #4
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Merci beaucoup pour ces réponses claires et rapides.

    Je vais regarder tout ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer une adresse MAC sur l'entrée standard
    Par the_ionic dans le forum Réseau
    Réponses: 14
    Dernier message: 20/07/2006, 09h56
  2. récupérer une adresse mac d'un pc distant
    Par Mut dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 03/02/2006, 11h01
  3. Recherche d'une adresse MAC
    Par Stilobic dans le forum Administration
    Réponses: 5
    Dernier message: 19/01/2006, 18h13
  4. Réponses: 5
    Dernier message: 25/03/2003, 17h27
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo