2009-04-23 74 views
8

我已經創建了一個相當可觀的Java GUI應用程序,其中有許多表單窗口,其中的設置被鎖定在.form文件中。我想知道是否有任何方法將這些.form文件轉換或重構爲真正的可以修改的Java源代碼?將Java GUI Builder .form文件轉換爲源代碼?

GUI是使用Netbeans 6.5創建的。

+0

我認爲.form文件是Netbeans特有的,並且.java文件具有窗口的完整源代碼。這不正確嗎?你不能編輯java文件嗎? – kazanaki 2009-04-23 17:10:14

回答

6

我的理解是,「.form」文件僅被Netbeans GUI構建器用於跟蹤GUI組件的位置。在設計視圖中添加組件時,Netbeans會自動更新實際的源(.java)文件。你可以用這個直接修改這些.java文件,比如說改變按鈕上的標籤,但是如果你在Netbeans中使用它,它會使用.form文件自動重新生成源文件,破壞你的手動修改。

根據我的經驗,一旦您決定手動修改.java文件,.form文件就會變得不同步,您將無法再正確使用Netbeans GUI生成器。

4

kazanaki是正確的,生成的java文件可以修改,但生成的.java文件雜亂無章,難以解釋。另外,你不能改變一些東西(如生成的.java文件中的註釋中註明的那樣),而不會渲染無用的東西,因爲它期望文件以某種方式擁有東西。話雖如此,如果你小心不要踩在馬蒂斯的腳趾上,你可以編碼,它不會觸及你的代碼,這很好。

不法分子也是對的,如果你改變了任何已經在馬蒂斯的作品中,它將被覆蓋。您在matisse之外做出的任何更改必須超出matisse用於生成代碼的xml所涵蓋的任何元素。

我曾嘗試過這種事情,但成功有限,最終只是重寫了接口以避免這些令人頭疼的問題。

1

我可以編輯源碼,我發現瞭解決方案。問題是我在GUI構建器中使用了「AbsoluteLayout」。 Netbeans正在創建一些隱藏在.form文件中的AbsoluteLayout類。如果我刪除了.form文件,該項目將不再構建。解決方案是將表單更改爲「FreeForm」佈局,然後刪除.form文件並刪除GUI構建器註釋。

謝謝你們的幫助,我給你們+1。