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

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

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

    子在川上曰

      逝者如斯夫不舍晝夜
    隨筆 - 71, 文章 - 0, 評論 - 915, 引用 - 0
    數據加載中……

    程序員雜志上的書評

    王婆賣瓜自賣自夸,呵呵,不過自夸的地方不多,更多的是寫一些對近來技術發展的看法
    -----------------------------------------------

      想起國內JAVA開發界兩年多前,那時還是JBuilder的天下,Eclipse還很陽春白雪。如今,Eclipse已經進入高速期發展,而當年的霸主JBuilder卻開始衰退,Borland公司被迫賣掉了產品線,轉向利潤更高的服務業。IT界向來是以十倍速在變化著發展著,Eclipse的前進速度同樣驚人。寫書的時候Eclipse還半紫不紅,現在卻已經光芒萬丈了,使用者眾多,連那個月蝕的logo都跟以前微微不同了。Eclipse的插件工具的數量增長很快,對于WEB開發比較重量級的有WTP,各種開源項目(如Struts、Tomca、Hibernate等)都有相應的Eclipse插件工具來輔助開發。
    ?
      平臺開發方面,Eclispe的RCP開始突顯,國內一些大公司已經在應用。在《Eclipse從入門到精通》(后面簡稱《E書》)中講插件開發時曾提到:對于開發應用類軟件的插件,開發者一般都不希望客戶能從軟件看到任何Eclipse的影子,所以希望能屏蔽掉Eclipse原有的菜單和工具欄。但在RCP出現之前,這樣的需求是無法實現的。RCP全稱Rich Client Platform(胖客戶端平臺),它實際上是將Eclipse的插件機制完全的剝離出來,而形成的一個獨立的平臺。在這樣的平臺上來開發,既擁有了插件開發的優點,又具有了完全定制的特性。在筆者的實戰體驗后認為,這種基于插件平臺的開發方式,將會是JAVA桌面應用開發的一次革命。
    ?
      在5年內,JAVA的開發方面將向哪里發展呢?很多人都各自有不同的預測。我認為在構架方面,SOA(面向服務的開發)將成為主流。而界面開發方面將會把注意力再次集中到界面的友好性上面(現在AJAX大熱即是這趨勢的體現),并將形成三足鼎立的局面:Flash的flex、微軟的XAML、Eclipse的RCP。前兩種是腳本+解釋器的新方式,也俗稱第三代WEB技術。這里沒有提到XUL,是因為XUL被綁定在Firefox瀏覽器上,它必然會被后來者XAML替代,誰叫微軟的IE瀏覽器占領著大部份市場呢。RCP則是傳統胖客端方式的回歸和升華,借助于SUN很久就有的Java Web Start技術,它一樣可以實現WEB方式無需現場安裝維護的優點。
    ?
      Eclispe的發展是令人欣喜的,每一次重印《E書》時,我都想加入一些新內容進去。但書的再版不可能這么頻繁,所以最后只能在不影響版面的情況下做一些小修改,在后面附加一些和讀者的往來Email。不過《E書》依然有著很強的生命力,書中的知識并不陳舊,因為Eclipse的發展是漸近式的累積式的,所以書中的內容仍是必學的基礎(誰會只學J2EE,而不學最基本的J2SE呢)。比如,SWT是Eclipse桌面開發的基礎;JFace是在SWT之上編寫的;插件開發需要大量用到SWT/JFace;RCP則基于插件開發的再提升。新內容的添加只能寄希望在本書的下一版了,希望那一天早點到來。
    ?
      從2005年6月始,《E書》已經出版快一年了,其間重印了三次,讀者評價也很不錯。看到自己的勞動能得到了讀者的肯定和厚愛,心里很高興,并在此表示衷心的感謝。為了讀者更快的追蹤新技術的發展,及為下一版做準備,筆者將開始在www.ChenGang.com.cn發表RCP的一系列文章,希望讀者到時能多提寶貴意見。
    ?
    ?????????????????????????????????????????????????????????????????????????? 2006-3-20 陳剛 于北京稻香園

    posted on 2006-03-20 18:41 陳剛 閱讀(1769) 評論(4)  編輯  收藏 所屬分類: Eclipse從入門到精通

    評論

    # re: 程序員雜志上的書評  回復  更多評論   

    這本書的確寫得還可以,就是出版社用的紙張不好:)希望作者能夠結合自己的經驗,多寫一些Eclipse高級編程的書,比如Struts+Jboss+Hibernate完整的網站應用實例,RCP編程詳細一步步介紹等。
    2006-03-25 10:59 | AlexZhang1980

    # re: 程序員雜志上的書評  回復  更多評論   

    呵呵,樓上的干脆給你做2包...得了

    很弱的建議
    2006-03-28 17:04 | gehrb

    # re: 程序員雜志上的書評  回復  更多評論   

    看你的書遇到問題,給treeviewer表格單元加編輯功能時有個問題,代碼如下
    final String[] typename = new String[] { "合同清單", "增補清單", "專項定金" };
    treeViewer .setColumnProperties(new String[] { "0", "1", "2", "3" });
    CellEditor[] cellEditor = new CellEditor[5];
    cellEditor[0] = new TextCellEditor(tree);
    cellEditor[1] = new TextCellEditor(tree);
    cellEditor[2] = new TextCellEditor(tree);
    cellEditor[3] = new ComboBoxCellEditor(tree, typename, SWT.READ_ONLY);
    treeViewer.setCellEditors(cellEditor);
    treeViewer.setCellModifier(new ICellModifier() {
    public boolean canModify(Object element, String property) {
    return true;
    }

    public Object getValue(Object element, String property) {
    TableTreeParent node = (TableTreeParent) element;
    switch (Integer.parseInt(property)) {
    case 0:
    return "" + node.getCode();
    case 1:
    return "" + node.getName();
    case 2:
    return "" + node.getUnit();
    case 3:
    for (int i = 0; i < typename.length; i++) {
    if (node.getType().equals(typename[i])){
    return new Integer(i);
    } }
    default:
    return "";
    }
    }

    public void modify(Object element, String property, Object value) {

    System.out.println("property.modify===="+property); //從此發現問題
    TreeItem item = (TreeItem) element;
    TableTreeParent o = (TableTreeParent) item.getData();
    switch (Integer.parseInt(property)) {
    case 0:
    o.setCode((String) value + "");
    break;
    case 1:
    o.setName((String) value + "");
    break;
    case 2:
    o.setUnit((String) value + "");
    break;
    case 3:
    Integer typeValue = (Integer) value;
    String type = typename[typeValue.intValue()];
    o.setType(type + "");
    break;
    default:
    break;
    }
    treeViewer.refresh();
    }
    }
    );
    獲取0、1、2單元編輯的值都正常,只有ComboBoxCellEditor的3單元有問題,編輯它時并不馬上觸發執行modify,而是在3單元操作后再點擊其它單元比如2單元后才會連同執行modity打印property.getValue=3 property.getValue=2,才能獲取3單元編輯的值。
    2006-04-14 14:27 | aq_say

    # re: 程序員雜志上的書評  回復  更多評論   

    抱歉敲錯了是
    property.modify===3
    property.modify===2
    2006-04-14 14:37 | aq_say
    主站蜘蛛池模板: 国产亚洲精久久久久久无码77777| 国产精品国产免费无码专区不卡| 久久久久久久国产免费看| rh男男车车的车车免费网站| 日韩免费电影网址| 桃子视频在线观看高清免费完整| 在线免费观看色片| 亚洲理论电影在线观看| 亚洲视频免费在线观看| 亚洲国产欧美一区二区三区| 久久毛片免费看一区二区三区| 亚洲?v无码国产在丝袜线观看| 亚洲视频免费一区| 美女免费精品高清毛片在线视| 污污网站免费观看| 一级毛片直播亚洲| 国产又黄又爽又大的免费视频| 日韩一级免费视频| 亚洲欧洲校园自拍都市| 伊人久久大香线蕉免费视频| 免费va在线观看| 亚洲欧洲无码一区二区三区| 99视频精品全部免费观看| 国产亚洲精品无码拍拍拍色欲| 亚洲av最新在线观看网址| 亚洲国产成人久久笫一页| 亚洲免费网站观看视频| 亚洲第一永久AV网站久久精品男人的天堂AV | 亚洲AV无码之国产精品| xxxxwww免费| 亚洲精品无码久久久久| 59pao成国产成视频永久免费| 亚洲VA中文字幕无码毛片| 羞羞视频免费网站日本| 国产成人精品男人免费| 两个人的视频www免费| 亚洲一级免费毛片| 亚洲成人免费网站| 黄色免费在线观看网址| 久久久无码精品亚洲日韩蜜臀浪潮| 中文字幕免费不卡二区|