2014-12-04 80 views
1

方法我看着LWJGL 3的一些例子在他们的示例代码,他们导入:导入包*导入月食

import static org.lwjgl.glfw.GLFW.*; 

我已经看到了这茬了很多次了,我想我只是想问问。代码然后继续行,如:

glfwDestroyWindow(window); 

它在GLFW类中调用函数的位置。然而,在我的IDE(Eclipse的月神)按预期这不工作,我需要调用:

GLFW.glfwDestroyWindow(window); 

这是不是一个真正的问题,只是不便。我怎么才能通过eclipse认识到这个函数在导入的类中,所以我不必去引导它。

+1

我使用的是开普勒,它早于月神,它的工作原理,不抱怨缺少静态方法。你确定你不是在执行'import org.lwjgl.glfw.GLFW。*'而不是'import static org.lwjgl.glfw.GLFW。*'? [static is important](http://docs.oracle.com/javase/1.5.0/docs/guide/language/static-import.html) – Petesh 2014-12-05 00:20:08

+0

导入是静态的,而glfwDestroyWindow方法在GLFW类中并且可以通过GLFW.glfwDestroyWindow调用,但不仅仅是glfwDestroyWindow - 我在NetBeans中测试了相同的代码,并导致了相同的问题。我在Win7 x64上使用Java 7 – 2014-12-05 00:31:49

+0

我测试的代码是http://www.lwjgl.org/guide的一个精确副本 – 2014-12-05 00:35:57

回答

0

getting started中的示例代码依赖于lwjgl 3的更新特性,这意味着如果从the lwjgl download page下载(自2014-12-05起)稳定版本,代码将不会编译,因为在代码不存在 - 稳定下载中缺少整个org.lwjgl.glfw包。

为了获得所需的功能,您必须下载其中一个夜间构建;一旦图书馆的v3完全发布,这很可能会得到解决。

+0

我已经下载了最新的每晚构建(04 Dec 14 23:45),glfw方法存在,但是,它的函数的非限定引用仍然会抛出日食认为是错误的东西。 – 2014-12-05 16:04:38

+0

问题解决了,示例中的导入是错误的,包含glfwDestroyWindow的类不是org.lwjgl.glfw.GLFW,而是org.lwjgl.system.glfw.GLFW – 2014-12-05 16:13:48

+0

如果情况如此,您仍旧引用旧的lwjgl jar文件。如果您比较稳定版本和夜间版本中'GLFW'类的位置,您会发现它们已经发生了相当大的变化。 – Petesh 2014-12-05 16:19:53