2009-09-08 116 views
25

我用Java編寫應用程序,並且正在尋找加速GUI編程的方法。綁定框架有所幫助,但我現在正在使用的特定應用程序不會從中受益太多(它不會顯示大量數據,只是操縱數據的很多方法)。我覺得我花了太多時間編寫鍋爐圖形用戶界面代碼,比如添加動作監聽器,佈置組件等。雖然我不是C#開發人員,但我聽說XAML工作得很好,並且看到了JAXX,它似乎與XAML類似。我也在看Groovy Swing Builder。它似乎有這麼多的選擇,甚至可能太多。Java GUI替代方案

任何人都可以分享他們的想法替代手寫簡單的Java UI代碼?

此外,我有興趣討論如何遷移現有的Java Swing代碼以使用其中一些選項。

感謝, 傑夫

+5

我已經避免編寫Java GUI應用程序,因爲這一點。我有興趣看到建議。 – 2009-09-08 01:58:34

+2

直到我嘗試使用Netbeans的GUI創建者時,我纔有同樣的感覺。此外,玩了一下JavaFX,我認爲它可以真正加快GUI(但沒有太多時間玩它)。 – NawaMan 2009-09-08 02:01:19

+0

我已經考慮過使用GUI創建器,但我想我只是覺得有太多的GUI代碼生成(類似於手寫它)。真正的GUI創建者可以幫助加速這個過程,但它並沒有消除那些往往會出現在各處的鍋爐代碼(我知道,在引擎蓋下,像XAML這樣的東西在運行時仍然會生成代碼,但至少你不會'不得不維護代碼)。 – 2009-09-08 02:05:50

回答

3

Griffon是一個用於創建Java桌面應用程序的Groovy框架。無可否認,如果您還不知道Groovy,您需要學習(某些部分)新語言纔能有效使用它,但提高生產力是值得我努力的。

+0

同意。當我寫這個問題的時候,我對groovy還是有些陌生,但是在過去的幾年裏一直在寫它。 Griffon現在已經有點成熟了,似乎是一個適用於桌面環境的合理框架。 – 2013-10-02 02:28:54

+1

值得一提的是,您也可以使用純Java構建Griffon應用程序,請參閱http://griffon.codehaus.org/guide/latest/guide/tips.html#nonGroovyArtifacts以供參考。 – aalmiray 2013-10-05 11:00:50

1

我在GUI編程專家,但你嘗試過使用NetBeans as a platform爲您的應用程序?

+0

它似乎是爲了更大的應用程序。這可能會適得其反。看到這個「介紹」:http://netbeans.dzone.com/videos/free-netbeans-platform-crash – OscarRyz 2009-09-08 02:31:51

5

我推薦使用Clojure 它允許您快速編寫Java GUI,而不需要樣板文件。

3

你絕對應該使用帶有GUI構建器的IDE。

IntelliJ IDEANetBeans具有非常好的GUI構建器,它們允許您自動綁定對象,並且會大大減少創建GUI所需的工作量,而不是完全用手完成。

+0

作爲UI製造商的粉絲,我覺得我應該加上 - 如果你使用一個不要扔出好標準的窗戶。當你添加一個小部件時,總是要命名它並避免雙擊自動添加偵聽器垃圾。 – 2009-09-08 11:22:29

7

佈局:

對於佈局,我都贊成JGoodies Forms工具的放棄了JDK佈局管理器。我覺得它更有效。它讀取的層次更高,並大大減少了與佈局相關的代碼量。

+0

同意。我也使用它。絕對有幫助。 – 2009-09-08 13:29:10

+0

如果在UI中只有表單,DesignGridLayout也可以爲佈局方面提供很多幫助。 – jfpoilpret 2009-09-11 06:45:08

+0

JGoodies表格 – 2009-09-15 20:41:06

3

我同意別人的看法,認爲綁定到NetBeans似乎很危險 - 特別是在與其他開發人員合作時。我已經使用Eclipse的(商業)Swing Designer(通過「instantiations」)插件獲得了相當多的成功 - 我喜歡它的事情是它往返,生成可自由更改的代碼。不完美,但節省時間。

但是我的Swing編程最大的不同在於發現了更好的佈局管理器。我從FormLayout(好),TableLayout(更好),但現在我不使用任何東西,但Mirage(不可思議)。

10

如何使用MiGLayout

這是非常簡單的學習和使用。 我強烈推薦給你。在我上一個項目中,它幫助我減少了很多時間來實現大量的GUI。

+0

我會檢查一下。謝謝。 – 2009-09-25 12:14:15

+0

MigLayout使開發變得非常簡單和容易。 – binarycreations 2011-07-28 10:47:29

2

您可以嘗試ZK(用於構建企業Web和移動應用程序的最佳開源Java框架)。 http://www.zkoss.org/