鍵盤上的舞者

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

          使用TopComponent群組

          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也會自動關閉。

          樣例程序下載

          posted on 2010-08-07 22:46 陳維 閱讀(1593) 評論(0)  編輯  收藏 所屬分類: NetBeans

          主站蜘蛛池模板: 南通市| 太和县| 富宁县| 洛隆县| 怀宁县| 台江县| 伊吾县| 宝山区| 密山市| 大名县| 鹤山市| 陇川县| 确山县| 新乐市| 无为县| 新郑市| 那曲县| 宁乡县| 洛南县| 循化| 江达县| 呼图壁县| 海口市| 青海省| 康乐县| 渝中区| 佛坪县| 红河县| 寿光市| 朝阳县| 安多县| 宜黄县| 阿拉善右旗| 汝城县| 会昌县| 格尔木市| 桂阳县| 定结县| 明水县| 廉江市| 保山市|