Переносимость приложений Java Swing на OSX

Недавно я написал очень простую программу Java Swing с парой текстовых полей и кнопок. У меня программа отлично работает на Ubuntu с Java 1.5. Но когда я пытаюсь запустить его в OSX (10.4), главное окно отображается правильно, но программа не отвечает. Кажется, ничего не происходит, какую бы кнопку я ни нажимал.

Я почти ничего не знаю о Mac OSX, так что могу ли я что-то делать не так?

Не могли бы вы сократить код до простого тестового примера и опубликовать код?

zoul 22.10.2008 14:54

Какую версию Java вы используете в OS X?

Uri 05.01.2009 23:06

У меня такая же проблема. Запуск OSX 10.5.7, Java 1.6.0_13.

tuler 19.06.2009 22:34
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
892
5

Ответы 5

Может быть, вы выполняете что-то вне потока диспетчеризации событий? Например, вы можете создавать, отображать и затем изменять JTextArea в потоке main.

Обычно программы Java нормально работают в OS X - например, Командир Звукового Моста - это приложение Java, которое отлично работает в Mac и Linux. Тем не менее, я бы определенно удостоверился, что коробка Mac полностью обновлена. Вы упомянули, что он работает под управлением Tiger, а это значит, что ему несколько лет, и JVM может быть несовместима с той, с которой вы скомпилировали.

Есть ли шанс разместить код где-нибудь в Интернете, чтобы мы могли его попробовать? На самом деле я тоже использую 10.4, так что это не будет проблемой.

У вас может быть SWT в пути к классам. Это похоже на мою проблему. Если я правильно помню, jar-файл Mac SWT использует определенные средства запуска для автоматического запуска. Тогда SWT мешает Swing.

Возможно, часть вашего кода скомпилирована для Java 5 вместо Java 1.4, поэтому всякий раз, когда вы пытаетесь вызвать его, из JVM выдается исключение, которое вы просто не видите?

Другие вопросы по теме