51

我目前正在开发一个 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计算机的人来获取它。

4

3 回答 3

2

当在以下位置调用JFrame.setIconImage(Image)时,此错误发生在OSX Lion >=10.7.4(not on ) :<=10.7.3

带有 Java 1.6.0_65-b14-462-11M4509 的 OSX 10.7.5

以及(如 Apple Mac OS X v10.7 Lion支持社区java-dev list 中所讨论的):

带有 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.7.4

它不会发生在:

带有 Java 1.6.0_51-b11-457-11M4509 的 OSX 10.8.4

鉴于上述信息,此错误是 OSX >=10.7.4 和 <10.8 的本机窗口实现中的错误,而不是 Java 中的错误。

我试图通过调整设置 JFrame 图标的时间来解决这个问题,但是调用该方法的时间并不重要,如果使用JFrame.setIconImage.

于 2015-09-22T18:42:28.953 回答
1

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

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

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

于 2014-08-20T17:18:31.690 回答
0

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

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

于 2013-07-14T23:47:54.287 回答