自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

應該改進的Java Swing 2.0

開發(fā) 后端
本文介紹應該改進的Java Swing 2.0,Jonathan Giles要求Sun對Swing 進行合理的改進,Swing對于Sun非常重要,以及其他所有方面都擁有重要位置。

這是一個很長的話題,自從“Sun:放棄Swing,主推JavaFX”,“Sun凍結(jié)Swing”的傳言出來,整個Swing社區(qū)對Sun放棄Swing的可能表示了強烈的反對,由于作為一個成熟Java UI技術(shù),Swing擁有相當數(shù)量的開發(fā)者,在關(guān)于Swing的爭論中,要求Sun繼續(xù)支持Swing的聲音不斷,一些開發(fā)者也澄清了大眾對Swing的錯覺,詳見“關(guān)于Swing的六個謊言”。

在09年1月26日,Jonathan Giles 發(fā)表了他的博客:“Java Swing 2.0”,要求Sun對Swing 進行合理的改進。

Jonathan Giles 寫道

我相信不基于JavaFX的 Swing 2.0的改進非常必要,基于Java框架,專注于桌面開發(fā)。我和很多開發(fā)者交換了意見,我們認為Swing 2.0 應該有以下改進:

Generics-based 基于范型: 我們不再需要將我們的對象放入不同的Swing 數(shù)據(jù)模型和組件中,只是為了接受返回對象。它應該能夠通過指定數(shù)據(jù)類型創(chuàng)建swing 模型和組件?,F(xiàn)在已經(jīng)有了一個Swing-generics project 項目,雖然發(fā)展的有點慢,但是Swing2.0 應該包含這個項目,不需要重復工作。

Support for enumerations 支持枚舉:這個需要是非常明顯的,很多public static final int 數(shù)據(jù) 應該由枚舉替換。這可以讓API干凈很多。

改進對collection frameworks的支持:這就是說我們不需要一直使用Vector lists,除非絕對需要同步。

對事件分發(fā)線程 event dispatch thread (EDT) 規(guī)則的嚴格強制:Swing一直速度很慢,這并不是事實,但是讓人們這樣感覺,這個感覺存在,因為開發(fā)者不理解如何控制處理 EDT .現(xiàn)存代碼缺乏關(guān)于EDT 規(guī)則相關(guān)的強制,于是不能在EDT上運行的任務執(zhí)行時間很長。所以,缺省的,Swing 2.0 必須進行EDT 驗證,拋出所有異常。這會讓開發(fā)者不爽,但是結(jié)果會讓程序運行更快,讓用戶滿意。這很值得。

改進bean綁定和驗證 :我不會說到我們需要 properties 那么遠,是因為還沒有足夠的信息給出確認的意見,我知道 JGoodies beans binding and validation 非常有用,讓創(chuàng)建數(shù)據(jù)驅(qū)動用戶界面容易并且迅速。Java Swing 2.0也應該吸取這些優(yōu)點。

這篇博客得到了大量的回復和轉(zhuǎn)載,在Swing社區(qū)引起了強烈反饋。Sun 也隨后在官方博客“Swing and JDK 7”上做了回應:

sun 寫道

Swing對于Sun非常重要,我們擁有大量的開發(fā)者在Swing 上開發(fā),Swing在Sun 的未來開發(fā)藍圖中,在富客戶端應用RIA方面,以及其他所有方面都擁有重要位置。

JavaFX也使用了很多Swing 的組件和桌面工具,Sun 很欣喜的看到基于Swing 出現(xiàn)了很多優(yōu)秀的項目,比如: Griffon, Thinlet, Pivot 和 LWUIT等等。

所以,我們提升了 Swing 的重要性,甚至比JavaFX的下一個版本,甚至比 Java SE 6更重要,將花大力氣彌補 Swing 作為UI工具的一些不足,比如讓Swing開發(fā)更加簡單,比如更好的運行時runtime 部署和性能優(yōu)化。這些方面的進展讓Swing開發(fā)者獲益,并且也讓其他依賴Swing的技術(shù)也獲得優(yōu)勢。

對于Sun來說,在JDK 6 向 JDK 7 轉(zhuǎn)移的期間,首先最重要的是 讓運行時 runtime更加輕量化,更快下載,更快啟動,對瀏覽器兼容更好,提升runtime性能。在Java SE 6u10中,已經(jīng)得到體現(xiàn)。第二個就是Swing 了,讓臃腫的Swing減少模板代碼和概念上的復雜性,開發(fā)典型的Swing應用將使用JDK 7中的 Swing Application Framework.

Sun 將通過OpenJDK 讓Sun以外的開發(fā)者更加容易為Swing貢獻代碼,我們已經(jīng)和 XRender pipline team 團隊合作為Java在Unix平臺上提供更好的圖形加速性能。 在JDK 7中,我們將加入組件類似JXLayer,DatePicker, 和 CSS styling等等。

我們也熱切希望能夠在JavaFX中使用Swing的功能,尤其對聽到什么類型Swing應用能夠需要嵌入JavaFX組件有興趣。

綜上,就是Sun保證對Swing繼續(xù)開發(fā),并且在JDK 7中加入Swing Application Framework.

現(xiàn)在Sun也遵守了諾言,Swing Application Framework (SAF) 開始向社區(qū)征詢意見。

Alexander Potochkin 發(fā)表了博客“Swing Application Framework is back again”。他提出了SAF面臨的問題,比如在同一個JVM中運行兩個SingleFrameApplication 沖突的問題;在Mac操作系統(tǒng)上,Swing很難提供原生的用戶界面等。希望SAF能夠成為一個理想的框架,解決Swing遇到的問題,過渡到Java Swing 2.0.

【編輯推薦】

  1. SwingWorker的實例化
  2. Swing控件可以提供聽覺反饋
  3. Java swing組件的串行化方法
  4. Swing組件的新元素Spinner Model
  5. SwingWorker單線程規(guī)則
責任編輯:佚名 來源: 中國IT實驗室
相關(guān)推薦

2009-07-17 13:16:45

微軟操作系統(tǒng)WIndows 7Windows AIK

2010-03-16 10:00:57

Ubuntu10.04改進

2021-12-27 14:43:16

elementary Linux發(fā)行版

2013-12-05 09:19:30

Windows SerPKI公鑰

2009-10-28 11:14:21

Android 2.0

2012-07-04 15:10:34

ibmdw

2012-07-09 10:11:58

ibmdw

2009-07-15 15:35:59

Swing程序Swing性能

2009-07-10 15:10:02

Java Swing經(jīng)

2009-11-30 16:36:35

IBM

2019-01-30 12:10:49

iOS捷徑蘋果

2009-04-30 09:10:42

JavaSwing線程安全

2022-01-05 22:41:47

PintaPinta 2.0開源

2009-07-10 14:20:01

AcceleratorJava Swing

2012-01-17 14:09:54

JavaSwing

2012-01-17 13:41:34

JavaSwing

2009-07-10 11:45:44

Java Swing

2012-01-17 14:05:29

JavaSwing

2020-07-22 15:08:56

創(chuàng)業(yè)商業(yè)

2009-07-16 11:13:50

Java Swing
點贊
收藏

51CTO技術(shù)棧公眾號