创建BuffereImage会导致LWJGL中的GLFW锁定(Java)
下面有一个下载项目的链接。该项目已经包含LWJGL。只要用eclipse打开它,告诉我我不会发疯 我第一次使用LWJGL进行实验,并成功地使LWJGL网站上的示例代码正常工作。奇怪的是,如果我在程序中的任何地方创建一个BuffereImage实例,就会导致整个程序被锁定。我已设法将其缩小到ColorModel类(BuffereImage使用该类),但无法找出发生这种情况的原因。我将在这篇文章中附加一个包含eclipse项目的zip文件来演示这个问题 您会注意到,我甚至在运行LWJGL和GLFW的线程之外的单独线程中访问ColorModel类创建BuffereImage会导致LWJGL中的GLFW锁定(Java),java,crash,lwjgl,bufferedimage,glfw,Java,Crash,Lwjgl,Bufferedimage,Glfw,下面有一个下载项目的链接。该项目已经包含LWJGL。只要用eclipse打开它,告诉我我不会发疯 我第一次使用LWJGL进行实验,并成功地使LWJGL网站上的示例代码正常工作。奇怪的是,如果我在程序中的任何地方创建一个BuffereImage实例,就会导致整个程序被锁定。我已设法将其缩小到ColorModel类(BuffereImage使用该类),但无法找出发生这种情况的原因。我将在这篇文章中附加一个包含eclipse项目的zip文件来演示这个问题 您会注意到,我甚至在运行LWJGL和GLFW的
项目: 注意:我在macOS机器上运行这个。这种行为可能仅限于macOS 对于那些只需要代码而不需要项目的用户: 如果我遗漏了任何信息,请让我知道,我很乐意提供。谢谢你的帮助
版本信息: LWJGL版本-3.0.0版本90 Java版本-JDK1.8.0u101 OpenGL版本-2.1 macOS版本-10.12.1 Beta(16B2333a)
ColorModel
(和其他java.awt
类)确实有一些静态初始值设定项,它们将启动awt子系统的本机部分。如果不使用AWT(或Swing),可以尝试禁用此初始化,方法是在命令行上指定-Djava.AWT.headless=true
,并查看是否有帮助。ColorModel
(以及其他java.AWT
类)确实有一些静态初始化器,它们将启动AWT子系统的本机部分。如果不使用AWT(或Swing),可以尝试禁用此初始化,方法是在命令行上指定-Djava.AWT.headless=true
,然后查看是否有帮助。