Недопустимый контекст CGContextSetBaseCTM 0x0

В настоящее время я разрабатываю Java-приложение.
И поскольку я не владею компьютером OSX, я заручился поддержкой некоторых людей из форума/сообщества, для которого это приложение предназначено.
Но эта ошибка возникает, когда приложение запускается на OSX.

Oct 5 15:26:58 ###-macbook-pro.local java[2384] <Error>: CGContextGetCTM: invalid context 0x0   
Oct 5 15:26:58 ###-macbook-pro.local java[2384] <Error>: CGContextSetBaseCTM: invalid context 0x0   
Oct 5 15:26:58 ###-macbook-pro.local java[2384] <Error>: CGContextGetCTM: invalid context 0x0   
Oct 5 15:26:58 ###-macbook-pro.local java[2384] <Error>: CGContextSetBaseCTM:      invalid context 0x0    
2012-10-05 15:26:59.590 java[2384:11517] Make pbuffer: 0 x 0   
2012-10-05 15:26:59.657 java[2384:2007] invalid drawable  

Очевидно, что, поскольку я не владею компьютером OSX, очень сложно отлаживать такие проблемы. Поэтому я надеялся, что один из вас, умные люди, сможет понять меня, в чем проблема, вызванная тем, что я могу пойти об их фиксации. Если есть какая-либо другая информация, которую вам может понадобиться, дайте мне знать, и я могу попытаться найти человека с компьютером OSX, чтобы получить его.

Ответ 1

Эта ошибка возникает при OSX Lion >=10.7.4 (не на <=10.7.3) при вызове JFrame.setIconImage(Изображение) на:

OSX 10.7.5 с Java 1.6.0_65-b14-462-11M4509

а также (как обсуждалось в Apple Mac OS X v10.7 Lion Сообщество поддержки и java-dev список):

OSX 10.7.4 с Java 1.6.0_51-b11-457-11A459

OSX 10.7.4 с Java 1.6.0_31

OSX 10.7.4 с Java 1.7.0_04

Это не происходит:

OSX 10.8.4 с Java 1.6.0_51-b11-457-11M4509

Учитывая приведенную выше информацию, эта ошибка является ошибкой в ​​реализации встроенного окна OSX >= 10.7.4 и < 10.8 и не является ошибкой в ​​Java.

Я попытался обойти эту проблему, настроив время установки значка JFrame, но при вызове метода не имеет значения, ошибка кажется неизбежной при использовании JFrame.setIconImage.

Ответ 2

Вы не даете много информации о том, где это происходит в вашем коде. На Mac, когда вы видите это, обычно, потому что вы пытаетесь рисовать в графическом контексте, когда у вас его нет.

В Java я думаю, что это может произойти при рисовании чего-либо в JPanel или другом JComponent. Например, при добавлении к нему изображения.

Насколько я знаю, Java JDK на OS X предоставляется Apple. Для того, что я прочитал, это известная проблема, которая еще не исправлена ​​Apple.

Ответ 3

Когда я смотрю на результат, слова "context", "buffer" и "drawable", а также различные вещи, которые начинаются с CG (что означает Core Graphics), колокола исчезают, указывая на то, что у него должно быть что-то с тем, что ваша программа использует графический интерфейс. Ваша программа, похоже, сбой, когда пытается попросить Mac OS отобразить графический интерфейс.

Вы на самом деле находитесь на компьютере, а не используете его через сеть? Если это так, вы запускаете программу из терминала? Если да, убедитесь, что вы не вошли в систему как кто-либо еще. Есть миллион других проблем, которые могут вызвать это, и я только поцарапал поверхность. Не будучи экспертом в инфраструктурах Mac OS, у меня есть еще одно предложение: попробуйте получить обновление Java.