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

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

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

    I want to fly higher
    programming Explorer
    posts - 114,comments - 263,trackbacks - 0

         很多人在初學(xué)Java的時(shí)候,都要配置環(huán)境變量。在配置CLASSPATH的時(shí)候,都會(huì)加上一個(gè)當(dāng)前目錄.,還有兩個(gè)jar:dt.jar和tools.jar。其實(shí)好多人都不了解這兩個(gè)jar的作用,尤其是dt.jar。網(wǎng)上的大部分解釋是這樣的:dt.jar是關(guān)于運(yùn)行環(huán)境的類庫,主要是swing的包;tools.jar是關(guān)于一些工具的類庫。對(duì)于后者我贊同,tools.jar中主要是jdk工具,包括javac,java,javap,javadoc等。javac,java,javadoc,很多都熟悉。javap,是java printer的縮寫,是jdk自帶的一個(gè)反編譯工具。不過把dt.jar解釋成關(guān)于運(yùn)行環(huán)境的類庫,我是百思不得其解。所謂的運(yùn)行環(huán)境是什么?難道是JRE?本文也希望高手可以給我一個(gè)解釋。下面是我自己整理的關(guān)于dt.jar的資料:

         首先看一下SUN對(duì)于dt.jar的定義:Also includes dt.jar, the DesignTime archive of BeanInfo files that tell interactive development environments (IDE's) how to display the Java components and how to let the developer customize them for the application。中文翻譯過來就是:dt.jar是BeanInfo文件的DesignTime歸檔,BeanInfo文件用來告訴集成開發(fā)環(huán)境(IDE)如何顯示Java組件還有如何讓開發(fā)人員根據(jù)應(yīng)用程序自定義它們。這段文字中提到了幾個(gè)關(guān)鍵字:DesignTime,BeanInfo,IDE,Java components。其實(shí)dt.jar就是DesignTime Archive的縮寫。那么何為DesignTime。

        何為DesignTime?翻譯過來就是設(shè)計(jì)時(shí)。其實(shí)了解JavaBean的人都知道design time和runtime(運(yùn)行時(shí))這兩個(gè)術(shù)語的含義。設(shè)計(jì)時(shí)(DesignTIme)是指在開發(fā)環(huán)境中通過添加控件,設(shè)置控件或窗體屬性等方法,建立應(yīng)用程序的時(shí)間。與此相對(duì)應(yīng)的運(yùn)行時(shí)(RunTIme)是指可以象用戶那樣與應(yīng)用程序交互作用的時(shí)間。那么現(xiàn)在再理解一下上面的翻譯,其實(shí)dt.jar包含了swing控件中的BeanInfo,而IDE的GUI Designer需要這些信息。那讓我們看一下dt.jar中到底有什么?下面是一張dt.jar下面的內(nèi)容截圖:

        從上面的截圖可以看出,dt.jar中全部是Swing組件的BeanInfo。那么到底什么是BeanInfo呢?

        何為BeanInfo?JavaBean和BeanInfo有很大的關(guān)系。Sun所制定的JavaBean規(guī)范,很大程度上是為IDE準(zhǔn)備的——它讓IDE能夠以可視化的方式設(shè)置JavaBean的屬性。如果在IDE中開發(fā)一個(gè)可視化應(yīng)用程序,我們需要通過屬性設(shè)置的方式對(duì)組成應(yīng)用的各種組件進(jìn)行定制,IDE通過屬性編輯器讓開發(fā)人員使用可視化的方式設(shè)置組件的屬性。一般的IDE都支持JavaBean規(guī)范所定義的屬性編輯器,當(dāng)組件開發(fā)商發(fā)布一個(gè)組件時(shí),它往往將組件對(duì)應(yīng)的屬性編輯器捆綁發(fā)行,這樣開發(fā)者就可以在IDE環(huán)境下方便地利用屬性編輯器對(duì)組件進(jìn)行定制工作。JavaBean規(guī)范通過java.beans.PropertyEditor定義了設(shè)置JavaBean屬性的方法,通過BeanInfo描述了JavaBean哪些屬性是可定制的,此外還描述了可定制屬性與PropertyEditor的對(duì)應(yīng)關(guān)系。BeanInfo與JavaBean之間的對(duì)應(yīng)關(guān)系,通過兩者之間規(guī)范的命名確立:對(duì)應(yīng)JavaBean的BeanInfo采用如下的命名規(guī)范:<Bean>BeanInfo。當(dāng)JavaBean連同其屬性編輯器相同的組件注冊(cè)到IDE中后,當(dāng)在開發(fā)界面中對(duì)JavaBean進(jìn)行定制時(shí),IDE就會(huì)根據(jù)JavaBean規(guī)范找到對(duì)應(yīng)的BeanInfo,再根據(jù)BeanInfo中的描述信息找到JavaBean屬性描述(是否開放、使用哪個(gè)屬性編輯器),進(jìn)而為JavaBean生成特定開發(fā)編輯界面。

        哈哈。現(xiàn)在可以理解dt.jar了吧。其實(shí)里面主要是swing組件的BeanInfo。IDE根據(jù)這些BeanInfo顯示這些組件以及開發(fā)人員如何定制他們。

        PS:好長(zhǎng)時(shí)間沒有在BlogJava寫東西了。一方面是因?yàn)楣ぷ髅Φ脑颍硪环矫媸亲约汗ぷ骱笞兊膽猩⒌脑颉=裉焓?-15號(hào),距離自己工作一年還差兩個(gè)月零5天。在最后的這段時(shí)間,我要拼命的學(xué)習(xí)東西。重點(diǎn)放在設(shè)計(jì)模式,并發(fā)編程,網(wǎng)絡(luò)編程,工具類庫設(shè)計(jì)等。如果有時(shí)間的話,還有我那熟悉的Linux。另外,我想寫一個(gè)《老生常談系列》,如《老生常談之工廠》,哈哈。

     

    posted on 2011-05-15 19:09 landon 閱讀(10324) 評(píng)論(3)  編輯  收藏 所屬分類: Program

    FeedBack:
    # re: 你了解dt.jar嗎[未登錄]
    2011-05-16 16:21 | 小白
    哥,等著你的老生常談哈~~  回復(fù)  更多評(píng)論
      
    # re: 你了解dt.jar嗎
    2012-05-13 10:39 | liguoxuan
    高手呀,工作一年就已經(jīng)開始準(zhǔn)備看設(shè)計(jì)模式、并發(fā)編程了  回復(fù)  更多評(píng)論
      
    # re: 你了解dt.jar嗎
    2012-05-16 10:36 | landon
    不算高手,多多交流。哈哈。@liguoxuan
      回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 成在人线av无码免费高潮水| 大片免费观看92在线视频线视频| 国产午夜无码精品免费看动漫| 亚洲一区无码精品色| 成年大片免费视频播放一级 | 国产亚洲福利一区二区免费看| 日本高清免费中文字幕不卡| 亚洲av无码成人精品区一本二本| 韩国欧洲一级毛片免费| 久久亚洲AV成人无码国产最大| 国产特级淫片免费看| 日韩免费码中文在线观看| 婷婷综合缴情亚洲狠狠尤物| 人成免费在线视频| 国产亚洲精品a在线观看| 最新国产乱人伦偷精品免费网站| 亚洲今日精彩视频| 免费观看成人毛片a片2008| 男人的天堂av亚洲一区2区| 亚洲色一色噜一噜噜噜| 野花香高清在线观看视频播放免费 | 免费观看a级毛片| 国产精品日本亚洲777| 亚洲综合无码AV一区二区| 无码国产精品一区二区免费vr| 亚洲人成7777影视在线观看| 国产精品免费_区二区三区观看| 高潮毛片无遮挡高清免费| 亚洲av无码一区二区三区乱子伦 | 456亚洲人成在线播放网站| 国产男女猛烈无遮挡免费网站 | 91精品免费观看| 亚洲国产AV无码一区二区三区| 亚洲精品A在线观看| 真实国产乱子伦精品免费| 亚洲国产精华液2020| 亚洲AV永久无码区成人网站| 国产成人免费网站| 久久成人永久免费播放| 色在线亚洲视频www| 亚洲中文字幕在线第六区|