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

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

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

    鍵盤上的舞者

    像寫情書一樣Coding...
    隨筆 - 20, 文章 - 0, 評論 - 15, 引用 - 0
    數(shù)據(jù)加載中……

    2010年8月7日

    Node的屬性改變后通知屬性表單(Propertites Sheet)更新

    Node API提供了一個方法在Node屬性集變化時通知注冊在其上的監(jiān)聽器更新。
    protected final void firePropertySetsChange(Node.PropertySet[] o, Node.PropertySet[] n)

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


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

    posted @ 2011-03-06 22:15 陳維 閱讀(1244) | 評論 (1)編輯 收藏

    使用TopComponent群組

    TopComponent群組的作用是在打開一個TopComponent組件的同時,打開其他相關(guān)的TopComponent組件。例如,當(dāng)打開或者激活GUI編輯器的時候,“組件面板”、“屬性”窗口和“檢查器”窗口都會出現(xiàn)。當(dāng)需要一個組件同時伴隨著很多其他類似于組件面板窗口的時候,利用TopComponent群組可以輕松實現(xiàn)一個組件的激活引發(fā)其他組件被打開或者被選中。

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

    TopComponent群組編程實例

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

    首先新建一個名為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文件,在系統(tǒng)文件系統(tǒng)中的Windows2目錄添加一個Group文件夾,將名為"EditorGroup"的群組添加進(jìn)Group。
    <folder name="Groups">
        
    <file name="EditorGroup.wsgrp" url="EditorGroupWsgrp.xml"/>
        
    <folder name="EditorGroup">
            
    <file name="SatelliteTopComponent.wstcgrp" url="SatelliteTopComponentWstcgrp.xml"/>
        
    </folder>
    </folder>

    編輯EditorTopComponent內(nèi)容,重寫TopComponent類的componentOpened()和componentClosed()方法,在EditorTopComponent被打開和關(guān)閉時打開和關(guān)閉名為"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群組的編輯。執(zhí)行模塊項目,當(dāng)從窗口菜單中打開EditorTopComponent時SatelliteTopComponent會自動打開,EditorTopComponent被關(guān)閉時SatelliteTopComponent也會自動關(guān)閉。

    樣例程序下載

    posted @ 2010-08-07 22:46 陳維 閱讀(1586) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 十九岁在线观看免费完整版电影| 91成人免费观看网站| 日韩高清在线高清免费| 免费人成网站在线高清| 亚洲一区二区三区免费视频| 在线免费中文字幕| 亚洲精品成人久久| 91成人免费在线视频| 2020年亚洲天天爽天天噜| 成全视成人免费观看在线看| 免费电视剧在线观看| 麻豆狠色伊人亚洲综合网站| 国产成人午夜精品免费视频| 中国china体内裑精亚洲日本| a级毛片免费完整视频| 亚洲阿v天堂在线| 四虎成人精品永久免费AV| 亚洲情a成黄在线观看动漫尤物| 色屁屁www影院免费观看视频| 亚洲国产成人精品无码久久久久久综合 | 亚洲AV无码乱码国产麻豆穿越| 国产免费网站看v片在线| 水蜜桃亚洲一二三四在线 | free哆拍拍免费永久视频| 最新中文字幕电影免费观看| 久久夜色精品国产亚洲AV动态图| 日韩免费在线观看视频| 久久精品国产精品亚洲艾草网美妙 | 色www永久免费| 亚洲图片激情小说| 国产美女无遮挡免费视频| 国产精品亚洲精品观看不卡| 国产精品成人四虎免费视频| 三年在线观看免费观看完整版中文| 亚洲好看的理论片电影| 99在线视频免费观看视频| selaoban在线视频免费精品| 亚洲最大福利视频网站| 免费看a级黄色片| 亚洲av无码片vr一区二区三区| 亚洲一级片内射网站在线观看|