2016-05-31 41 views
0

I have tried everything mentioned in this question with no success.爲什麼不能在「快速修復」菜單中顯示lwjgl導入?

我也曾嘗試刪除整個工作空間,讓月食生成一個新的,並設置訪問限制。

手動刪除我的eclipse安裝並刪除我的用戶文件夾(Windows 10)中的eclipse文件夾,然後重新安裝新的eclipse下載沒有奏效。

eclipse將清理導入就好了。我可以導入一些通用的東西,比如整個類,並且eclipse會通過快捷方式或者當我保存並退出時進行更具體的導入。

問題是mouseover上的快速修復菜單,它不提供任何導入建議。 (它將用於Java類,例如從java.util中隨機選擇)

+0

嘗試靜態導入某些內容,然後重試。例如:import static org.lwjgl.glfw.GLFW。*;現在嘗試輸入glfw並點擊[CTRL] + [SPACE] – Dynamitos

+0

@Dynamitos更多的是解決方案的解決方法,但我認爲它比完全「盲」更好。儘管如此,仍然無助於輸入建議。 – Thedudxo

+0

它不是一個不顯示靜態函數的「bug」。想象一下,如果您的建議中有來自JDK的每種可用方法。這將需要很長時間才能找到 – Dynamitos

回答

0

我認爲問題在於您對LWJGL庫或Java本身的錯誤理解。 除了C++之外,Java函數和變量都必須在類的範圍內。這也包括來自OpenGL/LWJGL的靜態函數。由於這個限制,LWJGL是基於版本的。這意味着,所有靜態變量和方法都包含在代表特性實現版本號的類中。

例如:glGetVertexArrays是在OpenGL 3.0中引入的,也就是說,您可以在GL30類中找到它。

其優點是,可以通過僅導入某些類來創建向後兼容的軟件。例如如果你想使OpenGL 3.3兼容,你只需要輸入任何高於GL33的東西。缺點是,您必須記住所有的版本號和它們的功能,或者您可以在Khronos規範中查找它,或者只是猜測。

要使用LWJGL功能,您可以:

  • 導入類靜態使用例如import static org.lwjgl.opengl.GL30。*;

  • 使用類名例如int vao = GL30.glGenVertexArrays();

請注意,按[Ctrl] + [Shift] + O時,所有以*結尾的靜態導入都會解析爲單個導入。

相關問題