2008-10-22 7 views
0

Récemment, j'ai écrit un programme Java Swing extrêmement basique avec quelques champs de texte et boutons. Le programme fonctionne bien pour moi sur Ubuntu avec Java 1.5. Mais quand j'essaie de l'exécuter sur OSX (10.4), la fenêtre principale s'affiche correctement mais le programme semble ne pas répondre. Rien ne semble se passer, peu importe le bouton sur lequel je clique.Portabilité des applications Java Swing vers OSX

Je ne connais presque rien à propos de Mac OSX, alors y a-t-il quelque chose que je puisse faire de mal?

+2

Pourriez-vous réduire le code à un test élémentaire simple et publier le code? – zoul

+0

Quelle version de Java exécutez-vous sur OS X? – Uri

+0

J'ai le même problème. En cours d'exécution OSX 10.5.7, Java 1.6.0_13. – tuler

Répondre

2

Est-il possible que vous exécutiez quelque chose à partir du thread d'envoi d'événements? Par exemple, vous pouvez créer, afficher et modifier un JTextArea dans le fil main.

2

Normalement, les programmes Java fonctionnent correctement sous OS X - par exemple, Sound Bridge Commander est une application Java fonctionnant correctement sous Mac et Linux. Je ferais certainement en sorte que la boîte de Mac soit entièrement à jour, cependant. Vous avez mentionné qu'il fonctionne avec Tiger, ce qui signifie qu'il a plusieurs années, la JVM peut être incompatible avec celle que vous avez compilée.

0

Est-ce que vous pourriez mettre le code en ligne quelque part afin que nous puissions l'essayer? J'utilise en fait 10,4 aussi, donc ce ne serait pas un problème.

2

Vous pouvez avoir SWT sur le chemin de classe. Cela ressemble à un problème que j'avais. Si je me souviens bien, le mac SWT jar utilise certains hooks de démarrage pour se lancer automatiquement. Alors SWT interfère avec Swing.

1

Il se peut qu'une partie de votre code soit compilée pour Java 5 au lieu de Java 1.4, donc chaque fois que vous tentez de l'invoquer, une exception est générée par la JVM que vous ne pouvez pas voir.

Questions connexes