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

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

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

    何以解憂?唯有Java

    其實(shí)程序員也懂得浪漫!
    posts - 90, comments - 637, trackbacks - 0, articles - 2
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    SwingDesigner 簡(jiǎn)介

    Posted on 2008-09-04 22:03 guanminglin@gmail.com 閱讀(20587) 評(píng)論(0)  編輯  收藏
    SwingDesigner

    簡(jiǎn)介:

    SwingDesigner 是用Eclipse開發(fā)的 一款免費(fèi)的、開源的、功能上與Mattise Project相近的界面設(shè)計(jì)工具插件. 他可以簡(jiǎn)化您開發(fā)應(yīng)用程序的步驟,縮短開SwingVE(Eclipse的另一款插件),每個(gè)組件用一個(gè)getXXX返回,代碼可讀性很強(qiáng),而且開發(fā)者可以自由修改代碼,保存后保持和界面同步更新.Designer 發(fā)周期.它具有很多Mattise 所不具有的功能. 生成的代碼也沒有NetBeans 生成的代碼那樣復(fù)雜, 這個(gè)工具不需要form文件,生成的代碼也是類似


    開發(fā)工具 : Eclipse3.4

    JDK版本 : JDK 1.6 (NimbusLookAndFeel 需要JDK1.6 u10)或更高

    開發(fā)平臺(tái) : Windows XP SP2

    開發(fā)動(dòng)機(jī):(為什么是基于Eclipse的SwingDesigner?)

    一直以來非常喜歡Swing,對(duì)Swing的研究也有很長(zhǎng)一段時(shí)間了,一直希望SwingJava桌面開發(fā)中扮演重要的角色。但是很久以來Java桌面開發(fā)始終是個(gè)弱項(xiàng),其中很大一部分原因是缺乏比較好用的界面設(shè)計(jì)工具。


    NetBeans的界面設(shè)計(jì)工具(以前叫Matisse Project)的出現(xiàn)給JavaGui開發(fā)尤其是Swing開發(fā)帶來了希望,但遺憾的是當(dāng)前Java集成開發(fā)環(huán)境仍然是Eclipse的天下,據(jù)統(tǒng)計(jì),目前市場(chǎng)上至少2/3的份額是被eclipse占有。雖然netbeans已經(jīng)獲得長(zhǎng)足的進(jìn)步,并進(jìn)一步吸引了更多的developer,但是由于歷史習(xí)慣和遺留系統(tǒng)等等問題,這個(gè)市場(chǎng)份額在最近幾年肯定還是eclipse的天下。


    當(dāng)然eclipse也有很多很優(yōu)秀的界面工具插件,可惜的是免費(fèi)的插件其質(zhì)量難以與netbeans的匹敵,好用的插件又都是收費(fèi)的。因此一直想為eclipse開發(fā)一款免費(fèi)的、開源的、功能上與Mattise Project相近的界面設(shè)計(jì)工具,算是為Swing的發(fā)展做一點(diǎn)貢獻(xiàn)。


    從今年1月份開始,我來到一家新公司,主要做基于eclipse插件平臺(tái)的開發(fā),得以學(xué)習(xí)了eclipse的插件開發(fā)知識(shí)。以前曾經(jīng)使用 swing做過一個(gè)swing的界面設(shè)計(jì)工具,但由于是一款獨(dú)立的工具,沒有集成到任何IDE中,因此幾乎沒有實(shí)用價(jià)值。因此決定在閑暇時(shí)間將這個(gè)工具重新用eclipse插件技術(shù)進(jìn)行開發(fā)。



    開發(fā)這款工具的目標(biāo)計(jì)劃


    1. 界面布局模仿Netbeans界面設(shè)計(jì)工具,操作和netbeans設(shè)計(jì)工具基本一模一樣,容易直觀的實(shí)現(xiàn)布局。這是第一目標(biāo)。目前已經(jīng)實(shí)現(xiàn)。


    2. 代碼的生成和解析不需要輔助form文件,直接從源代碼文件進(jìn)行解析生成。生成代碼可讀性要強(qiáng),要可以編輯并且同步。目前已經(jīng)基本實(shí)現(xiàn),有些折中處理,采用約定代替配置的辦法提高代碼解析速度。


    3. 直接支持樹和表的界面設(shè)計(jì),不需要寫代碼,直觀的采用界面操作,便可以直接生成表和樹的數(shù)據(jù)模型代碼。此功能已經(jīng)實(shí)現(xiàn)。而且目前的框架可以很容易擴(kuò)展,實(shí)現(xiàn)類似其他復(fù)雜組件的界面設(shè)計(jì)。


    4. 工具的性能良好,界面設(shè)計(jì)功能流暢,代碼解析/生成速度快。目前來看,速度和性能還不錯(cuò),初步的打算是將速度放在最后處理優(yōu)化。


    5.支持在設(shè)計(jì)時(shí)切換LookAndFeel,并能生成所設(shè)定LookAndFeel的代碼。這樣就能做到設(shè)計(jì)時(shí)和運(yùn)行時(shí)完全一致。而NetBeans的設(shè)計(jì)工具只能以NetBeans自身相同的LookAndFeel設(shè)計(jì),然后使用另外的LookAndFeel預(yù)覽。

    6.更多的特性 將在以后的版本中添加.

    代碼位置

    http://code.google.com/p/visualswing4eclipse/

    授權(quán)方式:

    本工具使用的是LGPL授權(quán)方式。照顧商業(yè)利用和開源改進(jìn)而采用此授權(quán)。

    目前支持的Eclipse平臺(tái)是3.4JDK請(qǐng)使用1.6

    聯(lián)系方式:

    Msn : rehte @ hotmail . com


    常見問題解答:

    1、變量命名為什么是$nameLabel這樣的,是為了讀取方便么?


    Re這兒是netbeans form解析法和VEAST語法數(shù)解析法的一個(gè)折中,提高解析速度,降低

    解析復(fù)雜度,同時(shí)有拋棄了form文件的一個(gè)折中辦法,被設(shè)計(jì)的界面組件的field名稱需要以$作為識(shí)別,當(dāng)然這個(gè)$是可以替換的。目前還沒有做這一步。

    2、方法名字為什么是changeBtn_action_actionPerformed這樣的,不符合java的規(guī)范,有配置可以改么?


    Re這個(gè)以后會(huì)增加配置進(jìn)行配置,但目前太多其他的細(xì)化工作要做,本人精力實(shí)在有限。


    3、我這里用的英文版的eclipse3.4,改變變量時(shí),確認(rèn)和取消按鈕為亂碼,沒有國(guó)際化支持么?


    Re目前只是出于功能實(shí)現(xiàn)階段,國(guó)際化還沒有考慮,不過eclipse的國(guó)際化是很簡(jiǎn)單的事情,打算把它作為最后階段解決的問題。


    4netbeans中雙擊button可以直接生成action調(diào)用方法,希望也提供這個(gè)功能。


    Re這個(gè)沒有問題。只不過這兒雙擊是調(diào)出in-place editor來實(shí)地編輯組件值。比如雙擊Tabletree能夠調(diào)出直接編輯表格和樹的設(shè)計(jì)器。


    5、怎么沒有直接切換到代碼的視圖,還有到了代碼后我直接 運(yùn)行 怎么出來不了東西。。?


    Re目前不好用是因?yàn)楣δ苓€沒有完全完成。很正常,因此我把版本定在0.9.0,甚至應(yīng)該更低,但是目前大部分功能框架和實(shí)現(xiàn)已經(jīng)完成,缺少只是細(xì)化,所以我希望對(duì)于SwingSWT以及Eclipse RCP開發(fā)功底比較深的人能夠加入進(jìn)來,幫助完善。


    開發(fā)步驟:

    1、新建一個(gè)Java工程

    2、安裝插件以后,在New Class Wizard中可以發(fā)現(xiàn)一個(gè)Visual Swing Class,選擇該項(xiàng)以生成可視化JPanel,目前只支持JPanel,以后可以很容易擴(kuò)展,會(huì)有更多的支持。

    初始化界面

     


    目前完成的特性截圖:

    下面是一個(gè)典型的設(shè)計(jì)界面的場(chǎng)景,紅框標(biāo)出的是該插件提供的視圖和按鈕,支持LookAndFeel切換:


    這兒是拖拽組件時(shí)顯示布局提示,和netbeans的界面布局設(shè)計(jì)類似:

    這是生成的源代碼,可以直接修改源代碼,保存后,會(huì)自動(dòng)同步的到設(shè)計(jì)界面上去:

    這是一個(gè)表格的設(shè)計(jì)器,你可以直接在界面上拖拽,添加刪除編輯表格:


    這是一個(gè)樹的設(shè)計(jì)器,你可以直觀的添加刪除編輯樹的節(jié)點(diǎn):

    LookAndFeel同時(shí)設(shè)計(jì)的抓圖,含有NimbusLookAndFeel

    NimbusLookAndFeel顯得得體大方,字體也很好看,圖標(biāo)精致,組件顯得既圓潤(rùn)而又不過分華麗。不知你注意沒有,新的Java2D的字體渲染是使用本地渲染庫(kù)渲染的,已經(jīng)完全和本地程序的字體一模一樣的。的確不錯(cuò):)


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲AV永久无码精品成人| 精品免费久久久久久成人影院| 又大又粗又爽a级毛片免费看| 亚洲国产视频久久| 又粗又大又黑又长的免费视频| 亚洲欧洲国产精品你懂的| 国产va在线观看免费| 亚洲一区二区三区高清| 5g影院5g天天爽永久免费影院| 亚洲AV无码久久精品色欲| a毛片免费全部播放完整成| 亚洲av无码不卡一区二区三区| 久99久无码精品视频免费播放| 浮力影院亚洲国产第一页| a级毛片免费高清毛片视频| 国产综合亚洲专区在线| 免费91最新地址永久入口| 337p日本欧洲亚洲大胆艺术| 黄色网址免费大全| 亚洲精品成a人在线观看夫| 亚洲А∨精品天堂在线| 国产真人无码作爱免费视频| 亚洲成a人片在线观看中文动漫| 59pao成国产成视频永久免费 | a级片免费观看视频| 亚洲av午夜福利精品一区| 91免费国产自产地址入| 亚洲欧好州第一的日产suv| 亚洲AV日韩精品一区二区三区| 久久久久女教师免费一区| 亚洲黄色网址在线观看| 国产一区二区三区在线免费观看| 亚欧国产一级在线免费| 亚洲成年人电影网站| 免费一级毛片正在播放| 亚洲国产精品免费视频| 亚洲精品无码av中文字幕| 亚洲精品V欧洲精品V日韩精品| 免费A级毛片无码无遮挡内射| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 波多野结衣免费在线|