鍵盤上的舞者

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

          2010年4月9日

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

          Node API提供了一個方法在Node屬性集變化時通知注冊在其上的監聽器更新。
          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());
          }

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

          使用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 @ 2010-08-07 22:46 陳維 閱讀(1587) | 評論 (0)編輯 收藏

          JavaFX進行HTTP Basic認證

          最近用JavaFX寫一個應用調用Internet上的開放API時需要進行HTTP Basic認證,JavaFX提供了一個類HttpRequest用于發送Web服務的請求,類HttpHeader顧名思義就是用來表示HTTP請求的"Header"了。HttpHeader提供了一個很方便的方法用來創建HTTP Basic認證需要的用戶名和密碼"Header":
          public basicAuth(username: java.lang.String, password: java.lang.String) : HttpHeader
          下面就看一下如何使用JavaFX編寫進行HTTP Basic認證的代碼:
          // var user = "user";
          // var password = "password";
          HttpRequest{
              location: 
          // url
              headers: HttpHeader.basicAuth(user, password)
              
          // 
          }.start();

          posted @ 2010-04-25 02:49 陳維 閱讀(1513) | 評論 (0)編輯 收藏

          本公司的幾個開發類職位的招聘(上海)

          有興趣的朋友可以先給我發簡歷,謝謝謝謝謝謝謝謝。
          chenweionline#hotmail.com

          公司基本信息可以訪問
          www.jaiziworld.com
          www.ccjoy.com

          51job上的發布鏈接
          http://search.51job.com/list/co,c,2088688,0000,10,1.html

          Java/JavaFX富客戶端應用開發工程師

          崗位職責:
          在Java平臺上進行網絡游戲相關客戶端產品的研發。

          任職要求:
          1.Java SE基礎扎實,了解常用設計模式并且能夠在開發過程用適當的應用;
          2.熟悉AWT/Swing,Java 2D,JavaFX,NetBeans Platform編程技術;
          3.誠實守信,具有良好的團隊合作精神,具有迎接挑戰的信心和對工作的激情。

          優先條件:
          1.熟悉游戲相關業務或者有相關游戲、編輯器工具開發經驗者;
          2.熟悉JavaScript,Flash/Flex,Silverlight等其他RIA開發技術;
          3.熟悉Java ME,Android,Windows Mobile,Symbian,iPhone等移動技術平臺開發。


          Java服務器端開發工程師

          崗位職責:
          1.具備良好的分析解決問題能力,能獨立承擔任務和有系統進度把控能力;
          2.負責網絡游戲服務器端應用邏輯的編寫,分布式系統的架構設計;
          3.編寫相關的開發文檔;
          4.與項目組美術與策劃人員深入溝通,準確實現開發需求。

          任職要求:
          1.熟悉Java語言,熟練掌握J2EE相關技術;
          2.熟悉常用設計模式、數據結構、算法;
          3.熟練使用:eclipse、PowerDesigner、UML建模、Word、Excel等常用開發工具。

          優先條件:
          1.熟悉游戲相關業務或者有相關開發經驗者。


          移動設備應用開發工程師

          崗位職責:
          1.在主流的移動平臺上開發互聯網服務產品。

          任職要求:
          1.可以熟練使用JavaME,Android或iPhone平臺編程技術進行開發。

          優先條件:
          1.2年以上移動平臺應用開發經驗;
          2.具有個人作品者優先。


          游戲算法研發工程師

          崗位職責:
          1.從事網絡游戲相關的技術研發和算法優化工作。

          任職要求:
          1.數學、人工智能或計算機專業碩士以上學歷,數學基礎扎實;
          2.熟悉圖像處理、模式識別、計算機視覺等方面的知識;
          3.熟練掌握數值計算相關理論和方法,對算法的并行處理和優化有經驗的優先;
          4.能夠編寫技術文檔。

          優先條件:
          1.熟悉Java語言優先

          posted @ 2010-04-15 15:24 陳維 閱讀(256) | 評論 (0)編輯 收藏

          JavaFX開發模仿Mac OS的MagicalDock(魚眼效果)

          launch
          MagicalDock修改了上個版本的設計,目前的思路是使用2個容器類Container和Flow完成布局,Flow為Node提供水平布局,Container是Flow的容器。
          當鼠標移動到Node上,Node大小變化時會改變Flow的尺寸范圍,這時動態調整Flow在Container中的位置完成水平位移效果并且將錨定Node的底部使一組Node在變化時都能夠底線對齊。

          posted @ 2010-04-09 17:58 陳維 閱讀(1971) | 評論 (2)編輯 收藏

          主站蜘蛛池模板: 博湖县| 崇州市| 呈贡县| 洪泽县| 花莲市| 邵阳县| 陆川县| 娄烦县| 扶沟县| 岫岩| 南涧| 常熟市| 延安市| 新乐市| 镇宁| 永登县| 康马县| 阳原县| 微博| 普兰店市| 扬州市| 河北省| 五指山市| 常德市| 潞城市| 禹城市| 建德市| 昭平县| 韩城市| 独山县| 土默特右旗| 秦安县| 莱阳市| 靖宇县| 修水县| 林口县| 进贤县| 汉阴县| 金川县| 乐东| 曲水县|