2012-09-22 145 views
1

所以我還是很新的Java和我試圖做一個遊戲。我創建了一個使用在線教程的真的基本遊戲引擎。我有三個類,Engine(核心),Sprite,SpriteManager。這些類中的每一個都在一個包中的自己的.java文件中進行了描述。我使用的是NetBeans,我想創建另一個.java來處理遊戲的前端;它擴展了我認爲是JavaFX的Application類。唯一的問題是,當我創建這個文件,並嘗試運行遊戲,我得到的調試控制檯此消息:JavaFX的最低要求

run: 
java.lang.NoSuchMethodException: kingdomsclash.Engine.main([Ljava.lang.String;) 
    at java.lang.Class.getMethod(Class.java:1622) 
    at com.javafx.main.Main.launchApp(Main.java:656) 
    at com.javafx.main.Main.main(Main.java:805) 
Java Result: 1 
jfxsa-run: 
BUILD SUCCESSFUL (total time: 4 seconds) 

看來,NB甚至沒有試圖運行我的前端文件中,而不是使用Engine.java即使引擎是只是一個類的聲明。 FrontEnd只是您創建新的Main Class java文件時由NB創建的hello world模板;它不會實例化任何其他類。

TL; DR

  1. 如何使Java應用程序運行前端第一或以其他方式解決上述錯誤?

非常感謝您的幫助。如果您需要任何其他信息,請不要猶豫,問。 :)

回答

2

在NetBeans中,你可以去File | Project Properties | Run和改變Application類字段以匹配您的kingdomclash.FrontEnd類(應該有一個main方法是,擴大的JavaFX Application,也有start方法)。

只要你設置項目最多的JavaFX項目最初,它應該工作。

如果它只是一個普通的Java項目,NetBeans的可能找不到JavaFX運行,在這種情況下,你可以按照下面的說明。如果您現有的代碼是爲Swing編寫的,我會建議將它重寫爲JavaFX,而不是嘗試混合這兩個系統,這會在您首次啓動時帶來不必要的複雜性。

的NetBeans具有特殊的項目和JavaFX應用程序,你應該使用平臺類型(否則將無法找到JavaFX運行)。有documentation如何設置它(但不幸的是,目前已經過時,因爲它不引用當前的JavaFX 2.2版本,而是一箇舊的JavaFX 2.1的發佈,平臺設置比較複雜)。基本上,您需要做的是使用最近的NetBeans版本(7.2+)的Java版本(jdk 7.7u6 +)並選擇新的Project | JavaFX | JavaFX Application。 NetBeans應該創建一個可以運行的基本hello world框架。複製並粘貼你的遊戲代碼,確保它只使用JavaFX類而不是java awt或swing類,並且你應該很好。

您也可以在使用JavaFX創建精靈動畫有興趣在此really neat tutorial

+0

我發現**正確的**,因爲你發佈了這個答案。 >。<非常感謝,@jewelsea。我正在查看教程。 :) – Dylan