2014-12-04 87 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