CGContextSetBaseCTM无效上下文0x0

时间:2012-10-06 10:01:30

标签: java macos

我目前正在开发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计算机上的人获取该信息。

3 个答案:

答案 0 :(得分:2)

OSX Lion >=10.7.4上调用JFrame.setIconImage(Image)时,<=10.7.3(而非JFrame.setIconImage)发生此错误:

  

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

以及(在Apple Mac OS X v10.7 Lion Support Communityjava-dev list上讨论):

  

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

     

OSX 10.7.4 with Java 1.6.0_31

     

OSX 10.7.4 with Java 1.7.0_04

它不会发生在:

  

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

鉴于上述信息,此错误是OSX&gt; = 10.7.4和&lt; 10.8的本机窗口实现中的错误,并且不是Java中的错误。

我尝试通过调整设置JFrame图标的时间来解决此问题,但是在调用方法时无关紧要,如果使用{{1}}则错误似乎是不可避免的。

答案 1 :(得分:1)

您没有提供有关代码中发生这种情况的详细信息。在Mac上,当你看到它时,通常是因为当你没有它时,你试图绘制图形上下文。

在Java中,我认为在JPanel或其他JComponent中绘制内容时可能会发生这种情况。例如,向其添加图像时。

据我所知,OS X上的Java JDK由Apple提供。对于我所读到的内容,这是Apple尚未解决的已知问题。

答案 2 :(得分:0)

当我查看输出时,单词“context”,“buffer”和“drawable”,以及以CG开头的各种事物(意思是Core Graphics),钟声响起,表明它必须有一些东西事实上你的程序使用GUI。当您尝试要求Mac OS显示GUI时,您的程序似乎崩溃了。

您是否真的在电脑上,而不是通过网络使用它?如果是这样,你是否从终端启动程序?如果是,请确保您没有像其他人一样登录。还有一百万个其他问题可能导致这种情况,而且我只是触及了表面。我不是Mac OS框架的专家,我还有一个建议:尝试获取Java更新。