Недопустимый контекст 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.