精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

TableModelExample可以簡化Swing

開發(fā) 后端
本文介紹TableModelExample可以簡化Swing,該示例的目的是指出使用 TMF 框架代替?zhèn)鹘y(tǒng) TableModel 設(shè)計的主要優(yōu)勢所在。

每篇關(guān)于 GUI 編程的文章都需要一個示例,本文當(dāng)然也不例外。該示例的目的是指出使用 TMF 框架代替?zhèn)鹘y(tǒng) TableModel 設(shè)計的主要優(yōu)勢所在。示例中的應(yīng)用程序?qū)⒃谄聊簧巷@示多個表,并且可以添加或刪除表,表中可以包含不同類型的信息( String 類型、 int 類型、 Boolean 類型和 BigDecimal 類型),而且最重要的是,其中還包含可配置的列信息,必須定期更改它們。

示例應(yīng)用程序的代碼從 J2X 包中分離了出來,您可以 HR 文件夾的 src 目錄中找到源代碼。還可以雙擊 build/lib 文件中編譯好的 JAR 文件,通過 JRE 運行應(yīng)用程序。

在示例應(yīng)用程序中,有兩個類可以相互交換,一個叫作 TableModelFreeExample ,另一個叫作 TableModelExample 。這兩個類在應(yīng)用程序中做的是同樣的事,使應(yīng)用程序產(chǎn)生的行為也相同。但是,它們的設(shè)計不同,一個使用的是 TMF 框架,另外一個則使用傳統(tǒng)的 TableModel。您從它們身上注意到的***件事可能是 TMF 類 TableModelFreeExample ,該類由 63 行代碼構(gòu)成,而在傳統(tǒng) TableModel 版本 TableModelExample 中,它長達 285 行。

Evil HR Director 應(yīng)用程序

我要使用的示例應(yīng)用程序是 Evil HR Director 應(yīng)用程序,它允許人力資源總監(jiān)(可能很可怕,戴著眼鏡)在 JTable 中查看潛在雇員的列表,然后從表中選出雇傭的人。新雇傭的員工的資料會轉(zhuǎn)移到當(dāng)前雇員使用的兩個 JTable 中;其中一個表包含個人信息,另外一個表包含財務(wù)信息。在當(dāng)前雇員表中,總監(jiān)可以隨意選擇解雇誰。您可以在圖 1 中看到該應(yīng)用程序的 UI。

圖 1. Evil HR Director 應(yīng)用程序

為了進一步證明 TMF 框架的簡單性,請看清單 6。這個清單只包含三行必需的代碼,就可以創(chuàng)建 Evil HR Director 應(yīng)用程序中包含的三個表的模型。這些代碼可以在 TableModelFreeExample 中找到。

清單 1.在 Evil HR Director 應(yīng)用程序中創(chuàng)建模型所需要的代碼

  1. TableUtilities.setViewToModel("demo/hr/resources/evil_hr_table.xml",  
  2. "Hire", hireTable, candidates);      
  3. TableUtilities.setViewToModel("demo/hr/resources/evil_hr_table.xml",  
  4. "Personal", personalTable, employees);  
  5. TableUtilities.setViewToModel("demo/hr/resources/evil_hr_table.xml",  
  6. "Financial", financialTable, employees); 

為了進行比較, TableModelExample 中包含用傳統(tǒng) TableModel 方法為三個表格創(chuàng)建模型所需要的代碼。請查看示例包中的代碼。不過,我不想在這里列出所有代碼,因為它足足有 205 行!

演示 TMF 框架的靈活性

TMF 框架的巨大優(yōu)勢之一,是它能更加容易地基于 JTable 的應(yīng)用程序在其發(fā)布之后進行修改。為了證實這一點,讓我們來看兩個可能的場景,這兩個場景在使用 Evil HR Director 應(yīng)用程序中每天都可能出現(xiàn)。在每個場景中,您都會看到框架是如何讓應(yīng)用程序更加容易地適應(yīng)不斷變化的用戶需求。

場景 1:公司的策略發(fā)生變化,規(guī)定在公司的應(yīng)用程序中查看私人的婚姻信息是非法的。

TMF:最終用戶需要從 XML 配置文件中刪除 Married?married 。

傳統(tǒng) TableModel:開發(fā)人員必須深入研究 Java 代碼,修改 getColumnName() ,讓它無法返回列名“Married?”;修改 getColumnCount() ,讓它返回的結(jié)果比以前返回的結(jié)果少一列;修改 getValueAt() ,不讓它返回 isMarried() 。然后開發(fā)人員必須重新編譯 Java 代碼,并重新部署應(yīng)用程序。

場景 2:公司策略發(fā)生變化,公司覺得有必要在潛在雇員表中包含居住地所在的州的信息。

TMF:: 最終用戶需要將 Statestate 添加到 XML 配置文件中。

傳統(tǒng) TableModel:開發(fā)人員必須深入研究 Java 代碼,修改 getColumnName() ,添加一個叫作 “State” 新列;修改 getColumnCount() ,讓它返回的列數(shù)加 1 ;修改 getValueAt() ,讓它返回 getState() 。然后開發(fā)人員必須重新編譯 Java 代碼,并重新部署應(yīng)用程序。

您可以看到,當(dāng)應(yīng)用程序中的表發(fā)生變化時(尤其在碰到一個總是朝令夕改的老板時,更改更加頻繁),編輯 XML 文件要比重新部署整個應(yīng)用程序容易得多。

使用代碼

在您飛奔過去刪除所有 TableModel 代碼之前,我想我還得占用您一分鐘解釋一下 j2x.zip 文件的內(nèi)容,以及您怎樣才能在您自己的項目中使用它。(請記住,特定于 TMF 的代碼可以在 com.ibm.j2x.swing.table 包中找到;您還會在 J2X 包中找到我在以前的文章“Go state-of-the-art with IFrame.”中介紹的其他代碼。)

j2x.zip 文件包含兩上文件夾:

src—— 包含本文中使用的源代碼。在 src 文件夾中,還有兩個文件夾:一個是 HR,包含構(gòu)成 Evil HR Director 應(yīng)用程序的源代碼;另一個是 J2X,包含 J2X 項目中使用的所有源代碼。

build—— 包含 Evil HR Director 應(yīng)用程序和 J2X 項目編譯后的類文件。該文件夾中的 lib 文件夾則包含 HR 應(yīng)用程序和 J2X 項目的 JAR 文件。

lib.zip 文件包含以下文件夾:

lib—— 包含所有的第三方 JAR 文件,運行應(yīng)用程序或者任何使用 J2X 項目的項目,需要使用這些文件。在這個文件夾中,您還會找到第三方項目的許可。

docs.zip 文件包含下列文件夾:

docs—— 包含 J2X 項目的所有 JavaDoc 信息。

要在應(yīng)用程序中使用 J2X 包,則需要把 CLASSPATH 指向 build/lib 文件夾中的 j2x.jar 以及 lib 文件中包含的所有三個第三方 JAR 文件。第三方包的許可條款允許您重新發(fā)布本文包含的所有包,但是如果有興趣對這些包做些修改,請閱讀許可條款。

結(jié)束語

使用 TableModel Free 框架,就不用再編寫傳統(tǒng) TableModel 了。TMF 框架改進了 JTable 和 TableModel 模型之間的 MVC 關(guān)系,更清楚地分離了它們。在日后的發(fā)布中,您甚至可以在不修改任何模型代碼的情況下,對組件進行熱交換。框架還允許您在模型發(fā)生變化時,自動更新視圖,從而消除傳統(tǒng) TableModel 設(shè)計中所必需的視圖和模型之間的通信。

TMF 框架還會極大地減少開發(fā) GUI 所需的時間,特別是在處理 JTable 時。幾年以前,我處理的一個應(yīng)用程序中有 150 多個 JTable,每個表都來自同一個原始表模型,該應(yīng)用程序可以作為示例。使用 TMF 框架,我們只用 150 行代碼就能解決問題;但是不幸的是,當(dāng)時還沒有 TMF,所以我們***編寫了 15,000 行額外的代碼,才生成必需的表模型。這不但增加了開發(fā)時間,還增加了測試和調(diào)試的時間。

與使用傳統(tǒng) TableModel 相比,使用 TMF 框架使您到了一個更加容易配置所有 JTable 的時代。請想像這樣一個 POS 應(yīng)用程序:該應(yīng)用程序被銷售給了 5 個不同的客戶,每個客戶都有一套特定的信息,所以每個用戶都想有一組顯示在 GUI 上的特定的列。如果沒有 TMF 框架,您就必須為每個客戶都生成一組特定的 TableModel —— 由此,也就生成了一組特定的應(yīng)用程序。而使用可配置的 XML 文件,每個客戶都可以使用相同的應(yīng)用程序,客戶所在地的業(yè)務(wù)分析師可以根據(jù)需要修改 XML 文件。請想像一下,這節(jié)約了多少開發(fā)和支持成本!

TableModel Free 框架解決了 Swing 開發(fā)人員社區(qū)的特定需求:減少了處理 JTable 時的開發(fā)時間和維護開銷,提高了它們對終端用戶的易用性。Swing 桌面正在回歸,使用像 TMF 框架這樣的工具,開發(fā)人員會發(fā)現(xiàn)可以更容易地使用 Swing 和開發(fā) GUI 應(yīng)用程序。您要做的***步就是用 TMF 框架的一行代碼代替您所有的 TableModel,把所有 TableModel 都永遠(yuǎn)地拋到虛擬空間的黑洞中去吧。

【編輯推薦】

  1. Swing組件相關(guān)的操作
  2. TikeSwing創(chuàng)建MVC體系結(jié)構(gòu)
  3. 全面介紹Swing容器
  4. 淺析Accelerator key in Java Swing
  5. JFC和Swing中的JLabel組件
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-07-15 09:06:07

BeanTableMoSwing

2009-07-14 09:28:26

JTable和TablSwing

2009-06-29 15:28:00

TableModelSwing開發(fā)

2009-07-10 09:58:08

Swing控件聽覺反饋

2009-07-15 14:10:26

Swing控件

2012-01-17 14:37:05

JavaSwing

2010-05-27 12:30:52

MySQL工具

2022-09-23 15:10:52

區(qū)塊鏈商業(yè)伙伴去中心化

2022-02-23 12:27:56

超融合基礎(chǔ)設(shè)施IT管理

2010-06-02 10:00:25

MySQL工具

2009-07-15 15:35:59

Swing程序Swing性能

2009-07-16 08:53:03

Swing任務(wù)Swing線程

2020-12-08 13:25:06

大數(shù)據(jù)數(shù)據(jù)源

2021-11-17 16:24:23

JS 代碼函數(shù)聲明

2020-12-07 10:56:20

大數(shù)據(jù)源大數(shù)據(jù)數(shù)據(jù)源

2009-07-16 16:01:55

EventQueue

2011-04-12 10:04:01

OPLCFTTH

2009-07-10 10:37:50

Swing Set示例

2009-07-15 14:29:24

構(gòu)造JListSwing
點贊
收藏

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

99久久久久久久久| 国产高清999| 国产黄色免费在线观看| 麻豆成人久久精品二区三区小说| 日韩一区二区在线视频| 性生活在线视频| 中文字幕高清在线播放| 国产精品久久久久久久久动漫| 91精品国产综合久久久久久丝袜 | 一区二区电影在线观看| 亚洲成人动漫在线播放| 高清一区二区视频| 精精国产xxxx视频在线中文版 | 国产香蕉精品视频一区二区三区| 国内自拍第二页| 蜜桃视频动漫在线播放| 综合激情成人伊人| 欧美黑人xxxxx| 国产wwwxxx| 天堂资源在线中文精品| 欧美黑人性生活视频| 亚洲欧美日韩第一页| 精品少妇一区| 欧美一级日韩免费不卡| 久草综合在线观看| 成人高潮aa毛片免费| 国产精品乱码人人做人人爱 | 亚洲丝袜在线观看| 欧美影视资讯| 粉嫩老牛aⅴ一区二区三区| 久久av喷吹av高潮av| 国产精品秘入口| 久久人人爽人人爽| 国精产品一区二区| www国产在线| 精品一区二区久久久| 国产精品久久久久久一区二区| 亚州国产精品视频| 欧美视频在线观看| 欧美日韩成人免费| 波多野结衣喷潮| 精品久久久久中文字幕小说 | 欧美精品久久久久久久久| 日韩一区二区三区不卡视频| 三级在线观看视频| 亚洲国产美女搞黄色| 韩国黄色一级大片| 麻豆tv在线| 国产精品久久久久久妇女6080| 欧洲精品久久| 高清中文字幕一区二区三区| 久久嫩草精品久久久精品一| 九色综合日本| 四虎影院在线域名免费观看| 国产91富婆露脸刺激对白 | 亚洲精品观看| 欧美一级精品在线| 亚洲美女高潮久久久| 亚洲国产视频二区| 精品国产伦一区二区三区免费| 老女人性生活视频| 亚州一区二区| 亚洲成年人在线| 一起草在线视频| 在线成人动漫av| 亚洲新中文字幕| 日韩免费成人av| 97在线精品| 九九热精品视频在线播放| 99热精品免费| 亚洲精选国产| 青青久久av北条麻妃黑人| 国产女主播喷水视频在线观看 | 午夜久久一区| 91国内在线视频| 五月天婷婷导航| 奇米精品一区二区三区四区 | 国产99对白在线播放| 国产精品亚洲а∨天堂免在线| 国产精品久久7| 日韩精品福利| 国产精品久久久久永久免费观看 | 欧美精品成人久久| 亚洲美女色禁图| 国产精品福利网| 国产av一区二区三区| 91亚洲精品久久久蜜桃| 少妇精品久久久久久久久久| 国产写真视频在线观看| 亚洲国产欧美在线| 蜜臀av免费观看| 一区二区三区视频播放| 亚洲欧美三级在线| 老妇女50岁三级| 久久久久久色| 亚洲一区二区三区777| 午夜av免费观看| 国产精品国产三级国产| 国产在线播放观看| 欧美视频精品| 国产丝袜一区二区三区| 波多野结衣爱爱视频| 国产亚洲福利| 97欧洲一区二区精品免费| 婷婷婷国产在线视频| 中文字幕一区三区| 免费在线观看亚洲视频| 性欧美video另类hd尤物| 亚洲精品久久久久中文字幕欢迎你 | 精品视频在线观看网站| 日韩精品免费一线在线观看| 青草影院在线观看| 秋霞午夜av一区二区三区| 国产欧美日韩综合精品二区| 麻豆av在线免费看| 日韩欧美大尺度| 亚洲精品鲁一鲁一区二区三区 | 中文字幕亚洲欧美日韩2019| 日本特黄一级片| 国内成人精品2018免费看| 欧美精品123| 毛片在线导航| 91精品国产一区二区三区蜜臀| 久久精品老司机| 韩国av一区| 亚洲精品欧美一区二区三区| 最新电影电视剧在线观看免费观看| 五月天一区二区| 亚洲免费观看在线| 91精品国产成人观看| 国产精品九九九| 瑟瑟在线观看| 亚洲6080在线| 在线看黄色的网站| 午夜国产欧美理论在线播放 | 亚洲欧美日韩一区二区三区在线观看 | av免费在线观看网址| 欧美网站一区二区| 中国黄色a级片| 国产精品五区| 欧美大香线蕉线伊人久久| www在线看| 亚洲成人网av| 国产精品suv一区二区69| 国产激情精品久久久第一区二区 | 欧美美女网站色| 久久精品三级视频| 秋霞午夜鲁丝一区二区老狼| 视频一区视频二区视频三区高| 欧美成人影院| 亚洲午夜精品久久久久久久久久久久| 中文字幕超碰在线| 91美女片黄在线观看91美女| 免费黄色福利视频| 亚洲精品国产精品粉嫩| 国产成人精品久久| 成人在线免费视频| 欧美日韩久久不卡| 九九这里只有精品视频| 国产美女视频91| 男人日女人的bb| 9l视频自拍九色9l视频成人| 久久免费福利视频| 手机av在线免费观看| 懂色av一区二区三区| 四虎国产精品成人免费入口| 免费精品99久久国产综合精品| 一区二区国产日产| 久久久国产精品入口麻豆| 久久777国产线看观看精品| 国产 日韩 欧美 综合| 黄色成人在线免费| 欧美18—19性高清hd4k| 精品一区二区三区在线播放视频| 国产又黄又爽免费视频| 大陆精大陆国产国语精品| 欧美在线视频免费观看| 天堂地址在线www| 欧美一区二区三区视频在线观看| 国产一级一片免费播放| 久久网站热最新地址| 成人性生交免费看| 亚洲无毛电影| 日本一区免费在线观看| 国产午夜亚洲精品一级在线| 97视频在线观看网址| 国产精品99999| 日韩一区二区三区观看| 欧美bbbbbbbbbbbb精品| 中文字幕一区二| 97精品人妻一区二区三区蜜桃| 日韩中文字幕亚洲一区二区va在线| 中文字幕日韩一区二区三区不卡| 久久亚洲黄色| 成人激情电影一区二区| 成人观看网址| 日韩中文字幕国产精品| 五月婷婷丁香六月| 欧美日韩国产经典色站一区二区三区| 国产大片中文字幕在线观看| 国产精品久久久久久久久晋中| 成年女人免费视频| 免费精品视频在线| 可以在线看的av网站| 98精品视频| 欧美日韩精品不卡| 日韩精品一级| 国产精品最新在线观看| a'aaa级片在线观看| 久久精品99久久香蕉国产色戒| 天堂а在线中文在线无限看推荐| 欧美在线观看视频在线| 国产午夜免费视频| 亚洲天堂免费在线观看视频| 免费看污片的网站| 成人av资源站| 久久人人爽人人片| 麻豆精品一区二区| 国产成人久久777777| 亚洲福利久久| 日韩精品手机在线观看| 日韩欧美综合| 日韩精品最新在线观看| 欧美美女啪啪| 国产精品免费区二区三区观看| 国产一区二区高清在线| 国产精品永久免费在线| 亚洲一区二区三区四区| 欧美在线视频免费播放| 欧美少妇精品| 91成人国产在线观看| 91av久久| 国内免费久久久久久久久久久| 在线观看操人| 欧美成人精品一区| 国内精品久久久久久野外| xxxxx91麻豆| 69视频在线| 日韩中文娱乐网| 婷婷在线视频| 色婷婷综合久久久久中文字幕1| 国产精品一区在线看| 亚洲无线码在线一区观看| 国产在线视频网站| 亚洲热线99精品视频| 国产香蕉视频在线看| 亚洲天堂第一页| 成人在线免费视频| 色哟哟网站入口亚洲精品| 91xxx在线观看| 日韩在线观看免费av| 久草免费在线| 欧美成人中文字幕| 深夜国产在线播放| 久久人人看视频| 亚洲少妇视频| 国产精品久久久久久久7电影| 国产一区二区精品调教| 国产精品三级在线| 日本国产一区| 91久久极品少妇xxxxⅹ软件 | 国产一级片免费| 亚洲成人av中文| 午夜影院免费在线观看| 欧美体内she精视频| 一级特黄aaa大片| 精品美女在线观看| 无码国产伦一区二区三区视频 | 人妻久久一区二区| 亚洲美女视频在线观看| 久草福利资源在线观看| 欧美日韩国产专区| 中文区中文字幕免费看| 日韩午夜在线观看视频| 四虎精品成人影院观看地址| 在线观看欧美www| 伊人在我在线看导航| 欧美一区二区.| 91麻豆精品| 精品乱色一区二区中文字幕| sdde在线播放一区二区| 中文字幕在线中文| 国产日韩欧美一区在线| 国产精品一区二区小说| 高清国产一区二区三区| 中出视频在线观看| 国产精品黄色在线观看| 日本熟妇色xxxxx日本免费看| 欧美四级电影在线观看| 成人福利小视频| 国产亚洲精品91在线| 污污的网站在线免费观看| 日韩美女视频免费看| 超碰国产精品一区二页| 激情视频一区二区| 99精品美女| 中文字幕日本最新乱码视频| 国产一区在线精品| 伊人网在线视频观看| 亚洲制服欧美中文字幕中文字幕| 精品无码一区二区三区的天堂| 欧美α欧美αv大片| 成人av电影观看| 91精品国产乱码久久久久久蜜臀| 亚洲精品成人一区| 欧美18视频| 国产尤物精品| 中文字幕丰满乱码| 久久亚区不卡日本| 国产午夜小视频| 日韩美女视频在线| 91xxx在线观看| 日韩美女视频免费看| 麻豆精品少妇| 国产欧美123| 韩国成人福利片在线播放| 女人又爽又黄免费女仆| 午夜日韩在线电影| 成人毛片在线精品国产| 久久香蕉国产线看观看av| 精品123区| 欧美久久久久久| 伊人激情综合| 中文字幕无人区二| 亚洲情趣在线观看| 一区二区不卡视频在线观看| 在线a欧美视频| 欧美日韩国产v| 久久国产精品-国产精品| 亚洲性感美女99在线| 亚洲综合中文网| 一区二区三区国产| 国产欧美日韩综合精品一区二区三区| 最近2019中文字幕第三页视频 | 欧美精品亚洲精品| 99在线精品免费视频九九视 | 免费成人三级| 日本xxxxxxxxxx75| 国产激情偷乱视频一区二区三区| 欧美偷拍第一页| 欧美电影免费观看完整版| 国产丝袜在线| 91偷拍精品一区二区三区| 欧美成人tv| 动漫av在线免费观看| 午夜在线电影亚洲一区| 欧美 日韩 国产 精品| 久久久爽爽爽美女图片| 加勒比中文字幕精品| 六月婷婷在线视频| 91丝袜国产在线播放| 日本高清不卡码| 国产一区二区免费| 成人国产一区| 99久re热视频精品98| 国产成人精品亚洲777人妖| 久久久久久欧美精品se一二三四| 精品久久久久久综合日本欧美| 国模雨婷捆绑高清在线| 国产一区二区视频在线免费观看 | 色视频免费在线观看| 欧美最猛性xxxxx(亚洲精品)| 欧美丝袜一区| 日韩欧美中文视频| 亚洲第一搞黄网站| 亚洲人成色777777老人头| 国产精国产精品| 午夜精品久久久久久久四虎美女版| 日韩欧美中文在线视频| 精品久久久久久久久久久久久| 男男电影完整版在线观看| 国产精品一区二区三区在线播放| 女人天堂亚洲aⅴ在线观看| 中国黄色片视频| 日本大香伊一区二区三区| 在线激情免费视频| 国产91社区| 日韩精品一二三区| 午夜国产小视频| 亚洲精品www久久久| jizz久久久久久| 青青青在线观看视频| 久久久精品免费免费| 国产免费黄色网址| 4388成人网| 91成人精品| 日本一级免费视频| 欧美一级xxx| 欧美精品高清| 大荫蒂性生交片| 国产精品素人一区二区| 亚洲精品久久久久久无码色欲四季| 欧美在线亚洲在线| 中文在线日韩| www.黄色在线| 亚洲的天堂在线中文字幕| 久久精品黄色| 成人免费观看cn| 亚洲精品国产无天堂网2021| 国产1区2区3区在线|