<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kukooBlog

    look to the master, follow the master, walk with the master, see through the master, become the master.

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      213 隨筆 :: 0 文章 :: 285 評論 :: 0 Trackbacks

    Eclipse RCP平臺真的是一個非常好的平臺,但是在用RCP的過程中,一定有一個大問題: SWT的UI widgets。 了解Swing的人知道,Swing下面有相當多的widgets,而且Sun還贊助著一個SwingLab,為Swing開發更多的客戶化的UI widgets。 但是SWT目前有這么一個問題,SWT的元件,不能直接繼承來開發一個新的UI組件,Eclipse雖然提供了大量的widgets,但是卻還不夠豐富,或者使用上有局限性(比如table這個組件)。 所以我們面臨的問題就是: 要么自己開發適合自己需求的widgets,要么在網上找。 而目前,還沒有像Swing那樣存在大量的custom widgets,這有點像``雞"和``蛋"的問題。

    昨天在EclipseZone里看到一篇文章,進而找到了這篇blog: Custom SWT widgets List,里面給出了一個提供SWT widgets的列表,相當有幫助,像KTable這樣功能更強的table組件。 當然,Eclipse也注意到這點了,所以Eclipse有一個孵化項目: Nebula,開始關注custom SWT widgets,并在每一個組件成熟以后,加到SWT平臺里面。

    【相關鏈接】
    Custom SWT widgets List
    Eclipse Nebula 項目


    Technorati : , ,

    posted on 2006-09-01 17:23 kukooBlog 閱讀(2791) 評論(17)  編輯  收藏 所屬分類: EclipseJava

    評論

    # re: Custom SWT widgets ? 2006-09-22 11:22 david.z
    你好,一直關注你的blog。
    對你們的東西非常感興趣,請和我聯系。msn:zwangli@hotmail.com  回復  更多評論
      

    # re: Custom SWT widgets ? 2006-10-24 22:11 ken[匿名]
    eclipse插件站點:http://www.eclipsepowered.net/  回復  更多評論
      

    # re: Custom SWT widgets ? 2007-01-03 16:03 hhh[匿名]
    其實swing的目標就是建立一個獨立的GUI系統(獨立于OS),所以GUI的繪制都是自己實現(建立在java 2D上)。這樣帶來的好處就是可以拋開歷史包袱,從頭開始實現一個靈活,現代,面向對象,真正跨平臺的 GUI框架。
        
     當初swing設計思想是卓越的,Swing有著無與倫比的擴展性和靈活性,它采用了很多現代的UI理論,如renderer/editor等。只是礙于實現性能。
     但隨著swing實現的性能越來越高,硬件環境越來越好。swing的發展一定更好!
        
     要說sun對于swing的失敗,不是swing設計思想和架構有問題。而是他們為swing實現的默認look & feel是糟糕的!
      回復  更多評論
      

    # re: Custom SWT widgets ? 2007-01-03 16:05 hhh[匿名]
    再次強調一下,
    swing的優秀在于它的架構和思想!如果你不從這些角度審視一下swing的話,你當然很難發現它的美!因為swing的設計充滿了OO的藝術!

    在"Swing是MVC設計的典范"一文中有這樣一段話:
    仔細研究Swing中事件監聽、Model-View分離、Renderer/Editor機制、可插拔的LookAndFeel等機制,簡直就是一門藝術,充滿了美感。而如果你非常痛恨這些設計并覺得他們怪異,很可能你是剛從VB或者Delphi轉過來,這些快速開發工具幫助了你也“害”了你。
      回復  更多評論
      

    # re: Custom SWT widgets ? 2007-01-03 16:08 hhh[匿名]
    我欣賞優雅和一致的設計,一致性反應了設計者極高的抽象水平,優秀的概念表達.
      
      我們現在來看MFC和swing.
      MFC是如何表達GUI的,首先對于GUI元素沒有一個共性抽象,使得無法進行任意的遞歸組合.
      MFC認為 GUI元素是原子的,GUI元素自身提供了設置它屬性的API基本決定了這個GUI元素給外部定制它的能力.低靈活性!
      
      MFC認為GUI元素自身應該處理事件,并且使用消息映射來實現這一點.
      所以通常如果你要處理某個GUI元素的事件,你需要寫一個繼承這個GUI元素的類.
      但殊不知很多情況下事件處理者和GUI元素是分離的!
      
      MFC的MVC是實現是不一致的,他并沒有將這一理念貫穿于整個框架.而只是單獨搞了個doc/view.
      
      所以如果我以今天的思路來看MFC,我覺得它對GUI的抽象是糟糕的,差勁概念表達.
      回復  更多評論
      

    # re: Custom SWT widgets ? 2007-01-03 16:09 hhh[匿名]
    MFC認為 GUI元素是原子的,GUI元素自身提供了設置它屬性的API基本決定了這個GUI元素給外部定制它的能力.低靈活性!
      ______________________________________________________
      
      這一條是很多win下GUI框架的通病,swt也好不到哪里去.

    swing的組件都是四兩撥千斤,模型和繪圖都是分離的,如表格
      JTable 就有TableModel ---->JTable<-----TableUI,從結構來說JTable完全扮演著控制器的角色.從API的使用者角度來說它是一個MVC體系的外觀,讓人想起了設計模式中的外觀模式.
      
      因為swing中一個GUI元素就是一個MVC體系,而不原子的.
      除此之外還可以為組件自定義renderer/editor.
      回復  更多評論
      

    # re: Custom SWT widgets ? 2007-01-03 16:15 hhh[匿名]
    eclipse構建在swt而不是swing上,現在看來是個錯誤,如果不是這樣,sun可能早放棄nb了。

    我很喜歡Eclipse,可就這個swt讓人不快!

      回復  更多評論
      

    # re: Custom SWT widgets ? 2007-01-03 16:16 hhh[匿名]
     SWT從實質上說是頭疼醫頭,腳疼醫腳,這種本質決定的它的架構不好,當需求增加時,當面臨現實的Customization時,當面臨各種不同操作系統時,它的缺點就暴露出來了,簡單的說:
      
       對Java 界面涉及不深的人往往偏好SWT,對Java界面設計非常熟悉才能真正洞悉Swing的內涵。人們對于SWT的喜愛是同他對SWT的了解深刻度成反比的, Swing恰好相反。對于SWT了解越淺的人,越對他的光鮮外表(主要是Eclipse的表現比較好,但畢竟Eclipse的漂亮程度歸公于他的界面設計藝術,實質并不在SWT的高級)。隨著開發者對于SWT的深入了解,就會發現越來越多的問題和局限性,了解不深的人,或者從傳統C/C++, WinForm以及MFC等東東轉過了的人,往往被SWT的表面所迷惑。可以不客氣的說SWT是AWT早已拋棄的努力。
      
       SWT憑著它對Windows平臺的優化迷惑很多人,又以它的編程簡單性忽悠了很多人。其實SWT它在Linux的效率和Mac OS上的錯誤簡直要讓人發瘋。如果你真的想需要Windows平臺的界面,干嘛要用Java? C#豈不是更好?
      
       SWT 一個迷惑人的地方是所謂平臺保真(Fidelity),其實這也造成它不能輕易擴展和Customization的根源,而且,開發者往往喜歡平臺保真的界面,而用戶卻不一定,相當的用戶最終喜歡WinAMP等類似可以更換皮膚和LookAndFeel的功能。即使是平臺保真度,Java6已經完完全全的實現平臺一致性。SWT已經沒有優勢可言。
      
       SWT的另一個迷惑人的地方就是所謂速度,人們往往認為本地組件就比模擬組件要快,其實不然,由于 Java虛擬機和運行時速度的提高,Java編寫的程序已經可以與C的速度相媲美,加上Swing內在有虛擬機內嵌代碼和熱編譯的等功能支持,Java實現的Swing代碼已經和操作系統本身的組件沒有什么兩樣了。最近有JavaLobby上論壇貼出了一個名字叫MiGLayout,關于測試GUI界面的 BenchMark,測試的結果是:
      
       Windows平臺上Swing的啟動速度稍慢于SWT,運行速度幾乎一樣。
       Linux平臺上Swing的速度高于SWT,無論是啟動速度還是運行速度。GTK2上的速度差別就更大。
       MacOS上Swing的速度高于SWT,無論是啟動速度還是運行速度。
      
       IBM當時開發Eclipse時,Swing的確不爭氣,所以才有了SWT的出現,但是如果當時Sun就把Swing打磨成現在這個樣子,估計IBM也不會輕易開發SWT,但也多虧SWT的出現,促使Sun將Swing進行改革。
      
       最近一個國外叫EvansData的咨詢公司調查的GUI工具結果是:
       swing占有率47%,名列第一,WinForm名列第二,SWT不超過8%
      
       結論是:
       SWT不會消亡,因為有Eclipse的存在,如果想為它開發插件,就必須使用SWT。另外和AWT相似,SWT可以應用到Mobile開發界面上,因為Swing畢竟太大了。
       Swing因為Java5和6的推動將席卷Java Desktop市場。
      
       畢竟任何的東西的存在都是合理,存在即合理,合理就不可能消逝。80/20的關系。
      
       對我的話持懷疑態度的人,尤其是Swing的速度可以去看看JavaLobby的這個帖子:
      http://www.javalobby.org/java/forums/t78884.html
       如果對Swing占有市場率有懷疑的人可以去看看這條新聞:
      http://www.clientjava.com/blog/2005/10/18/1129665205787.html




    SWT從實質上說是頭疼醫頭,腳疼醫腳,這種本質決定的它的架構不好。
      ——————————————————————
      一針見血


      回復  更多評論
      

    # re: Custom SWT widgets ? 2007-01-03 16:21 hhh[匿名]
    熱炒Swing,重塑C/S輝煌(轉)

    最近對Web有點倦了,正趕上很多程序員又開始反思C/S的好處,開始熱炒Smart Client及Flex之類的東西。加之接觸到一兩個基于.NET winForm的系統,感覺還是相當棒的,不由得開始重思C/S系統。
      其實話說回來,在局域網和intranet領域,還是C/S好使。所以在業界瘋炒Web2.0的時代,并不能阻止無數基于Win32API的老掉牙系統繼續統治各單位的主要業務,妨礙以此為生的公司與程序員們大撈鈔票。這充分說明了C/S的價值與必要性。畢竟很多C/S下簡單的界面功能,換到B/S下可得費不少心血,響應也遠不及C/S。各企事業單位的大多數業務系統,也并不需要internet。由此可見祖先的“中庸之道”是何等明智。以筆者愚見,B/S 適用于必須以internet為傳輸媒介的系統,換言之也就是各組織的外部系統;而內部業務系統,多數情況下仍應以C/S為佳。
      以上論點并非要我們回到上一個基于Win32API的時代,而是需要開辟一個全新的C/S時代。上一代C/S系統,至今仍難以解決諸如客戶端部署、信息孤島,過分依賴數據庫,訪問容量低,擴展性與可維護性差等等“硬傷”。原因至少有三,一是以數據庫系統為核心,無法適應數據交換標準化與多媒介的要求;二是因 Win32API的壟斷造成各平臺與軟件不兼容;三是未能應用OOP的方式進行開發,未進行分層設計,代碼高度耦合。
      那么我們的新C/S時代應該以怎樣的方式解決問題?首先,數據不應再采用以數據庫、文檔廠商自行其事的標準(如Oracle、SQL Server、WinWord),而應采用統一的標準(現在主要是XML);其次,應脫離專屬平臺與壟斷技術;第三,深入研究OOP,清晰地分層設計,降低代碼的耦合度,使系統具有良好的可維護性與擴展性。只有這樣,我們才能在客戶業務與IT技術飛速發展的時代,充分保護與發展好我們的即有設計與代碼,快速滿足客戶的需求。像上個時代不斷重建那種“做好就扔”的快速原型系統之悲劇不應一再重演。
      標準是有了,那么有這樣的技術嗎?有,而且近在眼前,那就是Swing。其實這技術Sun老早就提供給大家了,可惜在國內一直火不起來。其中原因及筆者力推的原因有三:一、Swing這種基于虛擬機的技術,比之Win32 Form慢多了。這在三五年前的確是個大問題。但現在的機器快得太多,連MS也力推基于虛擬機的winForm,這說明虛擬機的時代全面到來是確定無疑了。但MS因其壟斷政策,導致.NET成了瘸腿的虛擬機,跨平臺的要求短期內是不可能的。與平臺脫耦合的要求只有Swing才能擔當。二、Swing的設計要求高。Swing將經典的MVC可謂發揮得淋漓盡致。而由于歷史原因,國內絕大多數C/S程序員一直于缺乏OOP習慣及經驗。對Swing這種經典設計方式是難以接受的,無法領會由分層所帶來的巨大長遠優勢。故寧可死守VB、PB、Delphi這些失去前途的東西,或者抵不住MS winForm快餐的誘惑,再次投入MS過程式編程的泥潭。不深入理解OOP,不深入領會分層思想,幾乎無法有效使用Swing,這正是Sun的嚴格與苦心,大家要用心體會啊。三、MS與國內很多程序員自Swing誕生以來,就無時不對其冷嘲熱諷。以致于有志于C/S的Java程序員(筆者曾經的狀態)甚至絕望地熱炒起Swt這種不成熟的東西。于是在無處不在的中傷與分裂中,Swing在國內一直開不了花。前一陣子聽說Swing在國外其實是很火的,上網用google一搜"Swing"-95,700,000,再一比"winForm"-4,980,000。大家沒想到吧!如果是在國內的C/S市場,只 Swing只怕連winForm的十分之一都不及。這不得不提上面所說的“歷史原因”。國外的C/S程序員,大都有豐富的C++經歷,早已體會了OOP與分層的好處,故Swing必然成為虛擬機時代最好的選擇;而國內的C/S程序員,基本上是在RAD的浪潮中投入行業的,非常缺乏OOP的經驗。導致今天不但在C/S領域,就算在B/S領域,也不斷地以ASP模式制造無前途的系統。所以包括Swing、EJB、JSF等等這些東西被很多人瞎搞與亂罵也就不足為怪了。
      
      順便提一個最近熱炒的Flex、MS Expression。Flex不過是Adobe的專屬技術,最多落個Flash的結局就不錯了。MS的東西風格與前途一向如此,不再多論。而身處于編程世界最廣泛、最成熟的Java體系,Swing無疑是最有前途與通用性的。
      
      應當說,現在國內大部分程序員,是曾經并且將要繼續靠C/S吃飯的。那么,但愿此文能讓大家重新認真地、負責任地審視并應用Swing,體會那純正的OOP與分層設計,再塑國內又一個高度繁榮并且高質量的C/S時代。  回復  更多評論
      

    # re: Custom SWT widgets ? 2007-01-03 16:23 hhh[匿名]
    說了這么多,請問LZ有何感想!


    人們對于swing的誤解太多了!
    殊不知它是一個有著優秀架構的框架!  回復  更多評論
      

    # re: Custom SWT widgets ? 2007-02-12 09:35 abba
    swing做出來的東西要比bs的嚴謹多了,嚴重支持  回復  更多評論
      

    # re: Custom SWT widgets ?[未登錄] 2007-03-12 16:42 xy
    SWING做出來的東西看起來與本地操作系統格格不入,是敗筆之一。
    另外若長時間后返回SWING界面,打開選文件或目錄的窗體,窗體一片灰,難道這就是一個好程式或軟件嗎?  回復  更多評論
      

    # re: Custom SWT widgets ?[未登錄] 2007-03-12 16:48 xy
    SWING所謂的MVC設計,對于一兩年經驗的大多數程序員來說,使用的難度可不小,如客制JTABLE,SOURCE用的設計模式多多,可卻效果SOSO,令人失望。說白了就是脫褲子放屁,多此一舉。  回復  更多評論
      

    # re: Custom SWT widgets ?[未登錄] 2007-03-12 17:00 xy
    對于SWT大眾級應用軟件用過好幾個,最執行的BT,RSS都見SWT程序的影子,另外也暫不提GOOGLE的即將出籠的P2P客戶端(基于SWT,跨平臺),而SWING大眾軟件卻沒用過,對SWING失望呀,不知hhh[匿名] 對此有何感想?  回復  更多評論
      

    # re: Custom SWT widgets ? 2007-03-22 16:59 yeko
    http://www.autoscatto-erotico.ffclan.it
    http://www.bottiglie-nel-culo.ffclan.it
    http://www.culi-e-fighe.ffclan.it
    http://www.donne-ninfomani.ffclan.it
    http://www.eros-bologna.ffclan.it
    http://www.gli-uomini-preferiscono-le-bionde.ffclan.it
    http://www.fumetti-manga-porno-gratis.ffclan.it
    http://www.intl-xx-hacker.ffclan.it
    http://www.honda-cbr-xx.ffclan.it
    http://www.lunghezza-vagina.ffclan.it
    http://www.musica-andina.ffclan.it
    http://www.nere-sexy.ffclan.it
    http://www.oroscopo-erotico.ffclan.it
    http://www.portobello-annunci.ffclan.it
    http://www.real-boobs.ffclan.it
    http://www.storie-erotiche-vissute.ffclan.it
    http://www.turkish-air.ffclan.it
    http://www.uomini-nudi-per-donne.ffclan.it
    http://www.z-pornostar.ffclan.it
    http://www.voglia-di-sesso.ffclan.it
    http://www.www-vogliose-org.ffclan.it
    http://www.kut-nl.ffclan.it
    http://www.qui-mamme-it.ffclan.it
    http://www.300-video-gratis.ffclan.it
    http://www.jessica-rizzo-free.ffclan.it
    http://www.yahoo-giochi.ffclan.it
    http://www.xbox-giochi.ffclan.it
    http://www.899-erotico.ffclan.it  回復  更多評論
      

    # re: Custom SWT widgets ? 2007-04-23 22:56 kingsure
    無意間看到了該主題,無論SWING還是SWT,對于一個做GUI的程序員來說都是非常棒的庫。本人多年來一直處于SWING和SWT的開發,當年拋棄SWING轉入SWT實在是SWING的速度太糟糕,而SWT憑著Eclipse的出色表現,確實令很多開發真傾倒,雖然SWING的速度一直在提高,一直在努力而且其出色的框架及真正的做到一次編譯到處運行[SWT是一次編譯,到處修改:) ]。
    但話說回來SWT并沒有象樓上說的那么差勁,深入了解過Eclipse的程序都了解,Eclipse中使用的最出色的并不是直接都SWT進行操作,SWT只是為JFACE進行了底層操作,在Eclpise中基本上使用了JFACE對數據及ACTION進行了封裝(JFACE是可以單獨使用的)。所以其在界面中對數據對象的操作及設計思想并不亞于SWING的Model,可能單純的SWT和SWING確實無法抗衡。但加上JFACE的封裝,所謂對SWING的OOP設計傾倒的同胞可以嘗試下JFACE,可能會改變您的想法。  回復  更多評論
      

    # re: Custom SWT widgets ? 2007-08-04 08:29 睡教覺主
    Jface/swt,我覺得很2。
    沒有太想清楚哪里2,但是就是覺得很2。

    swing......設計完美,太完美了以至于有點迂腐。

    mfc......就是shit一坨。不提也罷。不過現在不都用.net了么?  回復  更多評論
      

    主站蜘蛛池模板: 女人18毛片a级毛片免费视频| 爱丫爱丫影院在线观看免费| 免费国产黄线在线观看| 久久亚洲sm情趣捆绑调教| 欧洲精品99毛片免费高清观看| 亚洲av日韩综合一区在线观看| 无码人妻一区二区三区免费看| 亚洲国产精品热久久| 91精品国产免费久久国语麻豆| 久久久久亚洲AV成人片| 免费视频爱爱太爽了| 亚洲三级在线观看| 免费一级黄色毛片| 成人毛片100免费观看| 少妇中文字幕乱码亚洲影视| 人与禽交免费网站视频| 亚洲AV无码之国产精品| 亚洲日韩在线观看| 一级毛片免费观看不卡视频| 亚洲剧场午夜在线观看| 国产免费观看视频| 热99RE久久精品这里都是精品免费| 91情国产l精品国产亚洲区| A级毛片内射免费视频| 免费观看四虎精品成人| 亚洲国产精品无码AAA片| 波多野结衣中文字幕免费视频 | 国产AV无码专区亚洲AV麻豆丫| 免费v片在线观看品善网| 日本黄色动图免费在线观看| 亚洲国产综合在线| 亚洲精品老司机在线观看| 午夜免费福利片观看| 亚洲AV日韩AV无码污污网站| 亚洲熟妇无码AV在线播放| 免费国产作爱视频网站| h片在线播放免费高清| 亚洲一区中文字幕在线电影网| 亚洲另类激情专区小说图片| 久久午夜免费视频| 一个人晚上在线观看的免费视频|