在我目前的項目中,我們必須在java中開發一個好看的基於桌面的應用程序。我們可以開發非常漂亮的UI,如果不是什麼替代方案
目前,我們有一個非常基本的桌面應用程序,用swing編寫,團隊沒有很好的揮杆知識。我們可以創建一個非常漂亮的用戶界面?
我們應該使用JavaFX創建桌面應用程序嗎?
這樣做有什麼其他的選擇嗎?
在我目前的項目中,我們必須在java中開發一個好看的基於桌面的應用程序。我們可以開發非常漂亮的UI,如果不是什麼替代方案
目前,我們有一個非常基本的桌面應用程序,用swing編寫,團隊沒有很好的揮杆知識。我們可以創建一個非常漂亮的用戶界面?
我們應該使用JavaFX創建桌面應用程序嗎?
這樣做有什麼其他的選擇嗎?
Swing在外觀方面非常靈活,您可以使用Swing製作非常漂亮的應用程序。
如果您想了解如何製作漂亮的Swing GUI應用程序,我建議您使用Chet Haase和Romain Guy的書Filthy Rich Clients。
+1提到骯髒的富客戶端。沒有更好的書來理解Swing的錯綜複雜。 – 2010-05-28 06:55:08
我不知道Swing看起來很好,直到我看到書中的樣本。事實上,作者現在在Android的發展中工作。 – OscarRyz 2010-11-08 19:50:26
不管你想要什麼,你都可以使它看起來很簡單。特別是如果你寫下你自己的外觀和感覺。我自己用半透明面板和簡單的按鈕來完成它。
看一看屏幕截圖在:
http://www.taranfx.com/best-java-swing-look-and-feel-themes-professional-casual-top-10
Nimbus是一個新的外觀和感覺,並且越來越受歡迎,它看起來非常專業IMO:
這些滾動條是怎麼回事? – 2013-05-11 16:11:26
您當然可以在Swing中創建出色的UI,例如NetBeans和IntelliJ IDEA等應用程序已經證明了這一點。
Swing唯一的替代方案是SWT(日蝕工具包),但它不像Swing那樣便攜,而且也不靈活。但是,它提供了更快的性能和使用本地組件,這可能是一些人實際需要的。
對於大多數現有的GUI工具包,還有Java綁定 - 例如Java for Gnome,有人可能會覺得它們很有趣。
然而,我贊成Swing的極端便攜性,MVC的採用,可插拔的外觀和感覺,大量第三方庫的附加組件的可用性(SwingX,JIDE,...)以及易用性。
順便說一句,在Swing中尋求最佳結果,選擇一個好的佈局管理器是必不可少的 - 我建議你看看全能的MiG layout。
結賬http://www.pushing-pixels.org/。 Kirill是Substance的作者,它爲Swing提供了大量新的外觀和感覺選項。 Here是一個博客文章,展示了Swing的一些可能性。曾經有一個鏈接到他在Java One上的2007演示文稿,但不幸的是鏈接不再有效。
從你回答它不是很清楚你的問題是什麼。一個簡單但經常足夠的解決方案是將您的應用程序的外觀和感覺更改爲系統默認的外觀(因此Swing看起來就像本機應用程序)。所有你需要做的是插入下面的代碼之前,任何地方你的用戶界面的創建/顯示(如果你不知道在哪裏,把它作爲你的主法第一):
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
// exit application, log or ignore exception
}
別用觸摸屏觸摸JavaFX 1。但是JavaFX 2看起來非常有希望,Oracle表示他們將把它緊密地整合到Java 8中。它背後有一個非常好的API,它的圖形加速,你可以使用CSS3並且默認情況下它看起來也不錯。
唯一需要注意的是,它目前還不適用於Linux - 但是如果您打算開發將在未來幾年內發佈的應用程序,或者您不太在等待對於跨平臺支持,這是一個很好的選擇。
可能的重複項:http://stackoverflow.com/questions/2592207/how-to-improve-look-and-feel-of-java-swing-gui和http://stackoverflow.com/questions/559559/好看的java-swing-lookfeel – Gnoupi 2010-05-28 07:33:05
JavaFX已經差不多了。 – helpermethod 2010-11-08 19:50:33
@OliverWeiler完全沒有! JavaFX腳本已經死了,JavaFX 2.1比以往更加活躍! – eversor 2012-06-12 20:17:01