亚洲一级黄色,精品中文字幕一区二区三区四区,一区二区在线电影http://www.aygfsteel.com/chenweionline/category/41671.html像寫情書一樣Coding...zh-cnMon, 07 Mar 2011 16:28:32 GMTMon, 07 Mar 2011 16:28:32 GMT60Node的屬性改變后通知屬性表單(Propertites Sheet)更新http://www.aygfsteel.com/chenweionline/archive/2011/03/06/345838.html陳維陳維Sun, 06 Mar 2011 14:15:00 GMThttp://www.aygfsteel.com/chenweionline/archive/2011/03/06/345838.htmlhttp://www.aygfsteel.com/chenweionline/comments/345838.htmlhttp://www.aygfsteel.com/chenweionline/archive/2011/03/06/345838.html#Feedback0http://www.aygfsteel.com/chenweionline/comments/commentRss/345838.htmlhttp://www.aygfsteel.com/chenweionline/services/trackbacks/345838.html
protected final void firePropertySetsChange(Node.PropertySet[] o, Node.PropertySet[] n)

如圖,精靈動畫就是一個自定義的Node,當使用鼠標將Node從A點拖拽到B點時,Node坐標已經改變,可以調用Node的firePropertySetsChange()方法通知屬性表單(Propertites Sheet)更新顯示。


因為firePropertySetsChange()是個受保護(protected)的方法,如果需要在Node的外部調用,還可以包裝在自定義的公共(public)方法里。
public void notifySheetChange(){
    firePropertySetsChange(
null, Sheet.createDefault().toArray());
}



陳維 2011-03-06 22:15 發表評論
]]>
使用TopComponent群組http://www.aygfsteel.com/chenweionline/archive/2010/08/07/328216.html陳維陳維Sat, 07 Aug 2010 14:46:00 GMThttp://www.aygfsteel.com/chenweionline/archive/2010/08/07/328216.htmlhttp://www.aygfsteel.com/chenweionline/comments/328216.htmlhttp://www.aygfsteel.com/chenweionline/archive/2010/08/07/328216.html#Feedback0http://www.aygfsteel.com/chenweionline/comments/commentRss/328216.htmlhttp://www.aygfsteel.com/chenweionline/services/trackbacks/328216.html TopComponent群組的作用是在打開一個TopComponent組件的同時,打開其他相關的TopComponent組件。例如,當打開或者激活GUI編輯器的時候,“組件面板”、“屬性”窗口和“檢查器”窗口都會出現。當需要一個組件同時伴隨著很多其他類似于組件面板窗口的時候,利用TopComponent群組可以輕松實現一個組件的激活引發其他組件被打開或者被選中。

定義群組涉及到2XML文件。首先是wsgrp,它代表“窗口系統群組(Window System Group)”。它定義了“窗口系統”的群組,系統根據它的定義查找對應的目錄,它也定義了群組是否應該在啟動時打開。另一個文件是wstcgrp,它代表“窗口系統TopComponent群組(Window System TopComponent Group)”,這個文件通過ID識別單態的TopComponent組件,同時還定義了一些群組的打開和關閉屬性。

TopComponent群組編程實例

首先創建一個模塊項目TopComponentGroup然后新建2個窗口組件(TopComponent),命名為EditorTopComponentSatelliteTopComponent,就像窗口的名字所表示的那樣,SatelliteTopComponent將會隨著EditorTopComponent的打開和關閉一同打開和關閉。

首先新建一個名為EditorGroupWsgrpxml文件,這個文件里定義了名為EditorGroup的編輯器窗口群組。
<group version="2.0">
    
<module name="org.jqueen.nb.topcomponentgroup" spec="1.0" />
    
<name unique="EditorGroup" />
    
<state opened="false" />
</group>

再新建一個名為SatelliteTopComponentWstcgrp的xml文件,在這個文件里可以通過ID識別出SatelliteTopComponent組件。
<tc-group version="2.0">
    
<tc-id id="SatelliteTopComponent" />
    
<open-close-behavior open="true" close="true" />
</tc-group>

編輯模塊的layer.xml文件,在系統文件系統中的Windows2目錄添加一個Group文件夾,將名為"EditorGroup"的群組添加進Group。
<folder name="Groups">
    
<file name="EditorGroup.wsgrp" url="EditorGroupWsgrp.xml"/>
    
<folder name="EditorGroup">
        
<file name="SatelliteTopComponent.wstcgrp" url="SatelliteTopComponentWstcgrp.xml"/>
    
</folder>
</folder>

編輯EditorTopComponent內容,重寫TopComponent類的componentOpened()和componentClosed()方法,在EditorTopComponent被打開和關閉時打開和關閉名為"EditorGroup"的群組。
    @Override
    
protected void componentOpened() {
        TopComponentGroup group 
= WindowManager.getDefault().findTopComponentGroup("EditorGroup");
        
if (group != null) {
            group.open();
        }
    }

    @Override
    
public void componentClosed() {
        TopComponentGroup group 
= WindowManager.getDefault().findTopComponentGroup("EditorGroup");
        
if (group != null) {
            group.close();
        }
    }

至此,就完成了一個TopComponent群組的編輯。執行模塊項目,當從窗口菜單中打開EditorTopComponent時SatelliteTopComponent會自動打開,EditorTopComponent被關閉時SatelliteTopComponent也會自動關閉。

樣例程序下載



陳維 2010-08-07 22:46 發表評論
]]>
與NetBeans6.8無關http://www.aygfsteel.com/chenweionline/archive/2009/12/11/305648.html陳維陳維Fri, 11 Dec 2009 13:12:00 GMThttp://www.aygfsteel.com/chenweionline/archive/2009/12/11/305648.htmlhttp://www.aygfsteel.com/chenweionline/comments/305648.htmlhttp://www.aygfsteel.com/chenweionline/archive/2009/12/11/305648.html#Feedback0http://www.aygfsteel.com/chenweionline/comments/commentRss/305648.htmlhttp://www.aygfsteel.com/chenweionline/services/trackbacks/305648.html 隨手點開了Overview視頻,視頻隨后部分介紹了一些基于NetBeans Platform開發的富客戶端應用,在5分53秒突然一張很熟悉的抓圖躍入眼簾,那是我在07年在NetBeans 5.5上開發的一個圖像處理富客戶端應用,興奮之余又開始習慣性的反省,這2年在Platform開發上沒什么成績,要努力。





陳維 2009-12-11 21:12 發表評論
]]>
Visual Library 2.0 - Exampleshttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295069.html陳維陳維Mon, 14 Sep 2009 12:58:00 GMThttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295069.htmlhttp://www.aygfsteel.com/chenweionline/comments/295069.htmlhttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295069.html#Feedback0http://www.aygfsteel.com/chenweionline/comments/commentRss/295069.htmlhttp://www.aygfsteel.com/chenweionline/services/trackbacks/295069.htmlVisual Library是NetBeans中廣泛使用的可視化函數庫,用于展現復雜的上下文關系,如建模或流程繪圖等工作。

Visual Library源自于NetBeans的社區項目,隨著類庫逐步發展成熟并被開發者認可,在2007年正式成為NetBeans Platform. 6.0的一部分。目前的NetBeans IDE中,BPEL業務流程設計器,Mobile開發以及JavaEE開發的設計工具都在使用Visual Library來實現可視化編輯效果。

Visual Library 2.0版本在使用時的編程風格同Swing類似,需要創建Scene場景包含,并使用Widgets生成所需的可視化元素,之后通過Scene場景的 createView操作來創建Swing的JComponent組件,以將可視化場景集成在Swing界面中呈現。

關于Visual Library的使用,官方站點已經給出非常好的示例代碼,以展示Visual Library提供的幾十種不同的功能和用法,包含Action的使用,可視化組件的生成與連接等。

示例代碼下載頁面:

http://graph.netbeans.org/examples.html

使用Visual Library開發的幾個案例截圖:



陳維 2009-09-14 20:58 發表評論
]]>
使用文件模板和向導創建一個類型文件http://www.aygfsteel.com/chenweionline/archive/2009/09/14/295067.html陳維陳維Mon, 14 Sep 2009 12:45:00 GMThttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295067.htmlhttp://www.aygfsteel.com/chenweionline/comments/295067.htmlhttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295067.html#Feedback0http://www.aygfsteel.com/chenweionline/comments/commentRss/295067.htmlhttp://www.aygfsteel.com/chenweionline/services/trackbacks/295067.html閱讀全文

陳維 2009-09-14 20:45 發表評論
]]>
創建新的文件類型http://www.aygfsteel.com/chenweionline/archive/2009/09/14/295063.html陳維陳維Mon, 14 Sep 2009 12:23:00 GMThttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295063.htmlhttp://www.aygfsteel.com/chenweionline/comments/295063.htmlhttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295063.html#Feedback0http://www.aygfsteel.com/chenweionline/comments/commentRss/295063.htmlhttp://www.aygfsteel.com/chenweionline/services/trackbacks/295063.html我們在開發過程中經常會根據數據組織形式的不同創造新數據格式,例如我為開發2D游戲地圖所創造的xmap格式。NetNeans很方便的提供了對新數據格式的支持,我們現在就可以動手創建自己的文件格式。

我們首先新建一個名為“Map Core”的模塊項目,然后在這個模塊里創建一個新的文件類型。

創建文件類型的過程如下:

1、點擊菜單欄的新建文件選項,在彈出的向導對話框的類別列表里選擇“模塊開發”,在文件類型列表里選擇“文件類型”,然后點擊“下一步”按鈕


2、在文件識別面板,MIME類型輸入框里輸入我們自定義類型“text/x-map”,然后在文件擴展名輸入框里輸入文件擴展名“xmap”。文件擴展 名可以輸入多個,用空格或者逗號分隔。如此可以使得這個新文件類型支持多種后綴的文件,例如jpg,jpeg后綴皆表示JPEG圖像格式。輸入完成后進行 下一步操作。



3、最后在輸入類名前綴、圖標和在磁盤上生成文件的位置,點擊“完成”后NetBeans會根據輸入自動生成和配置相關的幾個文件。



我們已經成功創建了自己的MIME文件類型“text/x-map”,檢查一下項目文件夾,NetBeans為我們自動創建了幾個文件:

Icon_Map.gif 自定義xmap文件的默認圖標。

MapDataObject.java 當系統發現xmap文件時會創造一個MapDataObject對象用來表示文件的內容。

MapResolver.xml 作為MIME類型解析器,它描述了“text/x-map”類型的文件后綴用于生成DataObject對象。

MapTemplate.xmap 這是一個xmap文件模板,我們可以在其中添加標準的內容后使用這個模板創建新的地圖文件。

layer.xml 添加了內容用于注冊MIME類型解析器和文件模板以及一系列標準操作,例如復制、粘貼等。



最后,我們將項目編譯后在目標平臺中重新裝入,來檢驗新的文件類型?,F在可以看到xmap類型的文件在安裝了MapCore模塊的目標平臺上顯示時和其他文件已經有所區別,使用了我們自己創建的圖標,說明xmap類型文件已經被識別。

 



陳維 2009-09-14 20:23 發表評論
]]>
創建NetBeans模塊項目http://www.aygfsteel.com/chenweionline/archive/2009/09/14/295062.html陳維陳維Mon, 14 Sep 2009 12:19:00 GMThttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295062.htmlhttp://www.aygfsteel.com/chenweionline/comments/295062.htmlhttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295062.html#Feedback0http://www.aygfsteel.com/chenweionline/comments/commentRss/295062.htmlhttp://www.aygfsteel.com/chenweionline/services/trackbacks/295062.html學習NetBeans模塊開發首先需要做的就是創建一個NetBenas的模塊項目,使用NetNeans IDE提供的新建項目向導只需要經過4個步驟就可以新建一個模塊項目。

1、首先IDE菜單中的新建項目創建一個新項目,在向導對話框中的項目類別選擇“NetBeans 模塊”,項目選擇“模塊”。



2、下一步填寫項目名稱和項目所在的磁盤位置。我將項目命名為“MapCore”。



3、接下來填寫代碼名稱基和模塊顯示名稱。項目名稱基的作用類似于Java類的包名,用來標識一個NB模塊。模塊顯示名稱顧名思義模塊用于顯示的名字。


4、點擊“完成”按鈕結束MapCore模塊的創建,創建后的項目文件結構如下:




陳維 2009-09-14 20:19 發表評論
]]>
將你的文件類型集合進XML編輯器(第二部分)http://www.aygfsteel.com/chenweionline/archive/2009/09/14/295060.html陳維陳維Mon, 14 Sep 2009 12:03:00 GMThttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295060.htmlhttp://www.aygfsteel.com/chenweionline/comments/295060.htmlhttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295060.html#Feedback0http://www.aygfsteel.com/chenweionline/comments/commentRss/295060.htmlhttp://www.aygfsteel.com/chenweionline/services/trackbacks/295060.html我發現了昨天的錯誤。不用將 MultiDataObject 替換成 XMLDataObject,你只需要簡單地確認 MIME 類型是以"+xml"結尾。例如,類似 text/x-foo+xml。一旦你這樣做了,你的文檔就會在 XML 編輯器里 打開。換句話說,你擁有免費的語法著色,簡單的確保 MIME 類型正確。根據昨天 Blog 里 描述 的4個步驟 增加 Cookies 可以為你提供 XML 的檢查、驗證和根據 XSLT 改變功能。諸如此類,事實上 盡管那個文件類型不是以".xml"結尾。

最后,添加一個導航器,以便我們能夠獲取我們的 XML 文件提綱和便于我們在導航器里節點的跳躍關聯到 XML 編輯器。

在這里教你怎樣添加 XML 導航器:

1、必須確保你的 MIME 類型處于 text/x-foo+xml 模式,否則 XML 導航器將不會工作。當我們點擊一個節點,一個行的文檔將會打開,并且新的文檔不含有語法著色,換句話說,你的文檔內容將打開在一般的文本編輯器里。從3個地方可以看出你的 MIME 類型是否正確,MIME 類型的 resolver、Layer 文件和 DataLoader。(譯者注:NB6.5 上驗證需要檢查 XxxResolver.xml 和 layer.xml 文件)

2、在重要文件節點里,展開<XML 層>和其中的<上下文中的此層>。找到導航文件夾,在導航文件夾里創建一個新的文件夾。這個文件夾的名字必須和你的 MIME 類型相同。然后復制XML文件夾下的內容到你的文件夾里。祝賀你,你已經制作了XML導航器用于激活你的 MIME 類型。

3、安裝模塊。如果你安裝在開發 IDE 上,你就必須重新啟動 IDE 使 XML 導航器注冊生效。


現在,每當文檔得到焦點,XML導航器就會顯示文檔的提綱。另外,你可以使用 XML 導航器導航到文檔的任何地方,就像顯示的那樣:

navigator-for-own-file-type-xml.png



原文地址:http://blogs.sun.com/geertjan/entry/integrating_the_xml_editor_for




陳維 2009-09-14 20:03 發表評論
]]>
將你的文件類型集合進XML編輯器(第一部分)http://www.aygfsteel.com/chenweionline/archive/2009/09/14/295058.html陳維陳維Mon, 14 Sep 2009 12:01:00 GMThttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295058.htmlhttp://www.aygfsteel.com/chenweionline/comments/295058.htmlhttp://www.aygfsteel.com/chenweionline/archive/2009/09/14/295058.html#Feedback0http://www.aygfsteel.com/chenweionline/comments/commentRss/295058.htmlhttp://www.aygfsteel.com/chenweionline/services/trackbacks/295058.html感謝 Vadiraj 的幫助,我現在知道了如何在XML編輯器里打開非XML文件。有時候你擁有一個內容是XML但是卻并非以“.xml”結尾的文件。如何讓IDE把它看作一 個XML文件呢?接下來你可以看到一個后綴為“.test”的文件在XML編輯器里被打開。你知道它被打開是因為語法著色和縮進,以及XML文件特有的附 加菜單項:

own-extension-xml.png

1、使用文件類型向導,會創建一些不同的類。只需要修改名為 XxxDataObject 的類。

2、為模塊依賴關系添加 XML Tools API。

3、在 DataObject 里,將繼承的類由 MultiDataObject 改為 XMLDataObject。

4、在構造函數里補充驗證 XML、確認 XML 和使用 XSLT 改變 XML 樣式等附加功能所提供的 Cookies,像這樣:

public TestDataObject(FileObject pf, TestDataLoader loader) throws DataObjectExistsException, IOException {
    
super(pf, loader);
    CookieSet cookies 
= getCookieSet();
    InputSource is 
= DataObjectAdapters.inputSource(this);
    Source source 
= DataObjectAdapters.source(this);
    cookies.add(
new CheckXMLSupport(is));
    cookies.add(
new ValidateXMLSupport(is));
    cookies.add(
new TransformableSupport(source));
    cookies.add((Node.Cookie) DataEditorSupport.create(
this, getPrimaryEntry(), cookies));
}

5、確認導入合適的聲明。

import java.io.IOException;
import javax.xml.transform.Source;
import org.netbeans.spi.xml.cookies.CheckXMLSupport;
import org.netbeans.spi.xml.cookies.DataObjectAdapters;
import org.netbeans.spi.xml.cookies.TransformableSupport;
import org.netbeans.spi.xml.cookies.ValidateXMLSupport;
import org.openide.filesystems.FileObject;
import org.openide.loaders.DataObjectExistsException;
import org.openide.loaders.XMLDataObject;
import org.openide.nodes.CookieSet;
import org.openide.nodes.Node;
import org.openide.text.DataEditorSupport;
import org.xml.sax.InputSource;

就這樣,你已經完成。你的文件現在可以被看作是一個 XML 文件,就像其他所有的 XML 文件一樣。



原文地址:http://blogs.sun.com/geertjan/entry/integrating_the_xml_edior_for



陳維 2009-09-14 20:01 發表評論
]]>
主站蜘蛛池模板: 赣州市| 岢岚县| 浪卡子县| 松阳县| 闵行区| 博野县| 仁化县| 金川县| 乌鲁木齐市| 修水县| 清涧县| 杨浦区| 婺源县| 冷水江市| 越西县| 神木县| 堆龙德庆县| 乐清市| 涟水县| 山西省| 肇东市| 扎赉特旗| 沭阳县| 渝中区| 安阳县| 和平县| 会昌县| 繁峙县| 盈江县| 沈丘县| 呼伦贝尔市| 榕江县| 延吉市| 离岛区| 滨州市| 湘潭县| 错那县| 彩票| 库伦旗| 鹤山市| 望谟县|