成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對Java Swing經驗的討論

開發 后端
本文介紹對Java Swing經驗的討論,以及介紹為什么我們選擇寫自己的工具?開始,我們決定我們的工具應該包括五個要求。

當Abacus Research AG,一家商業軟件開發公司,決定將開發平臺從 Borland 的 Delphi 轉向Java Swing時,它發現自己站在了軟件開發的十字路口。

我們大量的應用程序開發團隊擁有多年的Delphi GUI開發經驗,卻沒有任何的Java Swing經驗,并且我們需要在極短的時間內將大量的Delphi應用程序轉換為Swing。在研究了當時可用的GUI工具后,我們覺得我們應該通過贊助一個GPL開源Java GUI編譯器來達到自己的目標,而且這個編譯器還可以幫助其他的應用程序開發者面對相同的挑戰。

AbaGUIBuilder ,Abacus Java GUI編譯器被設計用來實現輕松地從VB或Delphi開發轉向Java Swing。這一策略幫助Abacus Research實現了其Java版應用程序的交付,縮短了開發時間,使其開發人員把精力投向商業應用,而不是Swing框架的錯綜復雜。

如圖1所示,AbaGUIBuilder有能夠在許多其他開發環境如VB和Delphi找到的要素。位于視窗左上角是活動對象樹,其下是Swing組件選擇區。位于視窗的中上部是開發面板,或者說是“畫布”,在這里放入Swing組件將其實例化。在右上部是屬性編輯器。下部是事件面板,包括兩個制表符頁,分別是事件代碼編輯器,為每個單獨的可視對象添加事件代碼,和消息面板,顯示AbaGUIBuilder的狀態消息。

Abacus

Abacus GUI編譯器

為什么做我們自己的GUI工具?

為什么我們選擇寫自己的工具?開始,我們決定我們的工具應該包括以下五個要求:
1. 容易使用
2.不需要布局管理器的使用經驗
3. 不需要Swing的使用經驗
4. 不需要輸出Swing代碼
5. 實現商業邏輯與UI的分離

我們在評估當時可用的GUI開發工具時發現好的IDE都是手寫Swing代碼,這就不符合我們的***個和最關鍵要求。

我們定義的容易使用是指任一開發者不管他/她的Java Swing經驗,都具有在幾分鐘而不是幾小時內開發一個可運行的GUI表單,因此就要是開發者的精力集中在商業邏輯上而不是框架的細節。一開始我們的開發者就需要所見即所得的環境,以便能夠真實地感知當應用程序發布的時候的情況。這一功能的實現節省了開發者的大量時間。但當時我們評估的工具沒有一個能夠實現這個功能;設計的屏幕與輸出的屏幕并不一樣還有糟糕的調度算法,對我們來說簡直就是巨大的倒退。AbaGUIBuilder通過預覽模式來實現這一功能,你可以在開發時看到它運行起來的樣子。

為什么Abacus Research要求UI和商業邏輯的分離?因為企業要處理不斷變換的政府規則,例如稅收和工資計算;我們需要在一個獨立的包裝模塊里維護規則和公式時保持UI不變的能力,使得當公式改變時,應用程序JAR(UI)并不需要變化。因此只有改變的公式需要測試,使得發布的進程簡單化。

為了滿足這個需求,我們設計的GUI編譯器將應用程序和事件匯編到一個應用程序JAR,JAR隱藏了所有的GUI Swing 代碼并且通過一個renderer類(AdaRenderer)在運行時來執行應用程序。

Java Swing經驗

為了確保開發工具能夠做到真正的所見即所得,我們決定采用類似Delphi和VB中用XY坐標來定位的布局管理方式。采用這種方式,Swing JFrame就是一個畫布,開發者可以將Swing組件放入JFrame的XY布局中。有了XY布局管理器,我們的開發者不需要理解Swing中并不熟悉的,復雜的布局管理器,這樣我們的應用程序開發者就可以把精力集中到應用程序UI和它的商業邏輯中。

事實上,AbaGUIBuilder包含了大部分的Swing可視組件,從面板到制表符頁,還有對菜單﹑菜單項,帶有Java數據庫連接的數據庫感知組件,JFreeChart組件的支持,和導入第三方可視類庫的能力。所有這些組件都可以從組件選擇區拖入一個空框架來開發你的GUI應用程序。

【編輯推薦】

  1. 介紹Swing技術的應用
  2. 實現Swing ActionListener接口
  3. 淺析Accelerator key in Java Swing
  4. Swing控件的工作方式
  5. 全面介紹Swing容器
責任編輯:佚名 來源: 中國IT實驗室
相關推薦

2009-11-13 16:53:12

Oracle文檔

2010-05-04 18:14:50

Oracle 性能工具

2010-05-18 19:16:18

linux MySQL

2009-12-16 14:32:14

Linux Mint系

2010-09-10 14:09:23

2009-06-09 16:53:22

Java Swing處理方法比較

2009-08-19 09:51:31

Java入門

2010-04-23 14:18:38

Oracle ROWI

2009-07-10 10:47:01

Java Swing

2009-07-15 15:35:59

Swing程序Swing性能

2011-03-15 14:26:28

Java

2009-09-15 18:19:13

敏捷開發

2014-09-18 14:50:42

用友HPR

2009-04-30 09:10:42

JavaSwing線程安全

2009-07-15 10:47:32

Java多態

2009-12-16 14:20:16

Visual Stud

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
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美女爽到呻吟久久久久 | 成人在线视频一区二区三区 | 日韩精品在线看 | 国产免费一区二区 | 午夜性色a√在线视频观看9 | 男女啪啪高潮无遮挡免费动态 | 日韩在线电影 | 亚洲电影第三页 | 手机在线观看 | 99热这里只有精品8 激情毛片 | 欧美一区二区视频 | 伊人久久精品 | 日本精品一区二区三区在线观看视频 | 久久精品av麻豆的观看方式 | 亚洲精品9999 | jav成人av免费播放 | 日韩精品视频在线 | 色婷婷av一区二区三区软件 | 91福利网址 | 成人免费视频网站在线观看 | 一区二区三区在线 | 欧 | 青青草av | 91资源在线| 国产在线小视频 | 国产福利网站 | 国产精品免费一区二区三区四区 | 欧美日韩精品免费观看 | 中文字幕亚洲欧美日韩在线不卡 | 国产视频1区 | 亚洲日本中文字幕在线 | 亚洲欧洲一区二区 | av网站免费观看 | 亚洲精品一区二区三区蜜桃久 | 国产成人短视频在线观看 | 99精品国产一区二区三区 | 免费v片在线观看 | 日日操日日干 | 欧美一区二区三区在线观看 | 欧洲国产精品视频 | 亚洲视频www | 国产精品高潮呻吟 |