Недавно я написал очень простую программу Java Swing с парой текстовых полей и кнопок. У меня программа отлично работает на Ubuntu с Java 1.5. Но когда я пытаюсь запустить его в OSX (10.4), главное окно отображается правильно, но программа не отвечает. Кажется, ничего не происходит, какую бы кнопку я ни нажимал.
Я почти ничего не знаю о Mac OSX, так что могу ли я что-то делать не так?
Какую версию Java вы используете в OS X?
У меня такая же проблема. Запуск OSX 10.5.7, Java 1.6.0_13.
Может быть, вы выполняете что-то вне потока диспетчеризации событий? Например, вы можете создавать, отображать и затем изменять 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 выдается исключение, которое вы просто не видите?
Не могли бы вы сократить код до простого тестового примера и опубликовать код?