锘??xml version="1.0" encoding="utf-8" standalone="yes"?> MXML浠嬬粛 涓涓畝鍗曠▼搴?/p>
緙栬瘧MXML涓篠WF鏂囦歡 MXML鏍囩涓嶢ctionScript綾葷殑鍏崇郴 鐞嗚ВFlex紼嬪簭緇撴瀯 姘村鉤鏈夐檺錛屽皬蹇冨弬鑰?/span> VBox 瀛愮駭鍨傜洿鎺掑垪錛屾瘡涓涓瓙綰у湪鍓嶄竴涓瓙綰х殑涓嬮潰 HBox 瀛愮駭姘村鉤鎺掑垪錛屾瘡涓涓瓙綰у湪鍓嶄竴涓瓙綰х殑鍙抽潰 Canvas 寮鍙戣呭彲浠ラ氳繃x,y鎸囧畾瀛愮駭浣嶇疆銆傚鏋滄病鏈夋寚瀹氾紝鎵鏈夌殑瀛愮駭閮借鏀劇疆浜庡鍣ㄧ殑宸︿笂瑙掋?/p>
Application 鑳借緗叾灞炴у儚VBox銆丠Box銆丆anvas鐨勫鍣ㄣ?/p>
Tile 浠ュ琛屾垨澶氬垪甯冪疆瀛愮駭銆傛墍鏈塗ile鐨勬牸澶у皬鐩稿悓銆侳lex瀹夋帓Tile瀹瑰櫒鍦ㄤ竴涓鏂瑰艦鐨勮〃鏍奸噷錛屾瘡涓牸鏀劇疆涓涓瓙綰с?/p>
Panel Box瀹瑰櫒鐨勫瓙綾伙紝Panel瀹瑰櫒鍙互閫氳繃璁劇疆layout灞炴у仛涓篐Box銆乂Box鎴朇anvas瀹瑰櫒錛堥粯璁よ緗甽ayout錛?absolute"錛孭anel瀹瑰櫒鐨勮涓哄氨鍍廋anvas瀹瑰櫒涓鏍?銆傞櫎姝や箣澶栵紝璇ュ鍣ㄥ寘鍚竴涓爣棰樻爮銆佷竴涓爣棰樸佷竴涓竟妗嗗強鍏跺瓙綰с?/p>
ControlBar ControlBar瀹瑰櫒灝嗘帶浠剁疆浜嶱anel鎴朤itleWindow瀹瑰惉涓嬭竟緙樸傞氳繃鎸囧畾灞炴э紝ControlBar瀹瑰櫒鍙互鍍廐Box鎴朧Box涓鏍瘋繘琛屽竷灞錛堥粯璁や負Horizontal錛夈?/p>
ApplicationControlBar 璁劇疆灞炴у彲浠ヤ嬌鍏跺儚HBox鎴朧Box榪涜甯冨眬錛堥粯璁や負Horizontal錛夈?font face="Times New Roman, serif">ApplicationControlBar
瀹瑰櫒瀹圭撼鎻愪緵鍏ㄥ眬瀵艱埅鍜屽簲鐢ㄧ▼搴忓懡浠ょ殑緇勪歡,
騫跺彲浠ュ仠闈犲湪 Application
瀹瑰櫒鐨勪笂杈圭紭銆?
浜嬩歡璋冪敤鍥炶皟鍑芥暟
<mx:Button id="myButton" click="myFunction(event)"/>
浜嬩歡渚﹀惉鍣?br>
浜嬩歡渚﹀惉鍣ㄨ涓涓璞★紙縐頒綔渚﹀惉瀵硅薄錛夋帴鏀剁敱鍏朵粬瀵硅薄錛堢О騫挎挱瀵硅薄錛夌敓鎴愮殑浜嬩歡銆傚箍鎾璞℃敞鍐屼睛鍚璞′互鎺ユ敹璇ュ箍鎾櫒瀵硅薄鐢熸垚鐨勪簨浠躲?br>棣栧厛浣跨敤addEventListener鏂規硶娉ㄥ唽渚﹀惉瀵硅薄錛?br>渚﹀惉瀵硅薄.addEventListener(type:String, listener:Function)
type 鍙傛暟鎸囧嚭浣犺鐩戝惉鐨勪簨浠剁被鍨嬶紝姣斿"enterFrame". 鐒惰岃嚜宸辮緭鍏ヨ繖浜涘瓧絎︿覆瀹規槗鍑洪敊錛屾渶濂界殑鍔炴硶灝辨槸璋冪敤Event綾葷殑闈欐佹垚鍛樺睘鎬э細瀵煎叆Event 綾伙紝璋冪敤addEventListener 鏂規硶錛?br>addEventListener(Event.ENTER_FRAME, onEnterFrame);
絎簩涓弬鏁皁nEnterFrame,鎸囧悜綾諱腑瀹氫箟鐨勫洖璋冨嚱鏁?鍥炶皟鍑芥暟瀹氫箟浜嗗浜嬩歡澶勭悊)錛岃鍑芥暟闇瑕佷紶閫掕繘EVENT鐨勪竴涓疄渚嬶細
//澶勭悊浜嬩歡鐨勪唬鐮?br>}
涓嬮潰鏄簨浠朵睛鍚櫒鐨勪緥瀛?br>
2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="createListener();">
3 <mx:Script>
4 <![CDATA[
5
6 import flash.events.MouseEvent;
7
8 public function createListener():void {
9 btnConvert.addEventListener(MouseEvent.CLICK, convertCurrency);
10 }
11
12 public function convertCurrency(e:MouseEvent):void {
13 var rate:Number = 120;
14 var price:Number = Number(txtPrice.text);
15 if (isNaN(price)) {
16 lblResults.text = "Please enter a valid price.";
17 } else {
18 price = price * rate;
19 lblResults.text = "Price in Yen: " + String(price);
20 }
21 }
22 ]]>
23 </mx:Script>
24
25 <mx:Panel x="20" y="20" width="450" height="150" layout="absolute"
26 title="Currency Converter">
27 <mx:Label x="25" y="37" text="Price in Dollars"/>
28 <mx:Label x="120" y="65" id="lblResults"/>
29 <mx:TextInput x="120" y="35" id="txtPrice"/>
30 <mx:Button x="290" y="35" label="Convert to Yen" id="btnConvert" />
31 </mx:Panel>
32 </mx:Application>
]]>
]]>
鍒涘緩鍜岃繍琛岀▼搴?br>鏁版嵁榪炴帴
Flash Player瀹夊叏璁劇疆
Flex紼嬪簭甯冨眬
浣跨敤浜嬩歡鍜岃涓?br>緇欎綘鐨勭▼搴忓姞涓〉闈?br>寮濮婩lex
姘村鉤鏈夐檺錛屽皬蹇冨嬁瀵?br>
鐢變簬鏃墮棿鍜岃兘鍔涚殑鍘熷洜錛岃澶氬湴鏂規槸鐩存帴璇戣繃鏉ョ殑錛屾病鏈夋鼎楗般?br>
涓嬭澆鍦板潃
]]>
鎺ョ潃鐪嬬湅Macromedia Flex 鏍囪璇█綆浠?/a>榪欎釜鍦板潃鐨勫唴瀹逛竴鏍鳳紝鍙槸鏈夊浘鐗?Macromedia Flex 鏍囪璇█綆浠?/strong>
Flex鐨勭浉鍏寵祫婧愶細
涓浗Flash鎶鏈腑蹇?/td>
http://www.flashtc.com/index.asp
緗戠粡涔婩lex
http://www.deepcast.net/wiki/ow.asp?Flex
榛戠窘緲斿ぉ
http://www.kingda.org/blog/
Flash甯濆浗
http://blog.5d.cn/team/FLASHEmp.aspx
webstudio
http://www.webstudio.com.cn
RIA鎶鏈笓棰?
http://tech.csai.cn/zt/RIA/index.htm
Y.X.Shawn's Blog
http://blog.ezse.com/
5d
http://www.5d.cn/
Dreamer's Blog
http://www.zhuoqun.net/
OpenLaszlo鐨勪腑鏂囨暀紼嬩腑蹇?
http://blog.csdn.net/lwz7512/
鐏煷宸ヤ綔鍧?/td>
http://www.hcxm.cn/blog2/default.asp
]]>
鏂規硶鏄璞$殑璐d換錛岃繖涓瑙傜偣鎴戞渶鏃╁湪銆婅璁℃ā寮忚В鏋愶紙絎簩鐗堛佷腑鏂囩増錛夈嬮噷寰楃煡鐨勶紝閭i噷寮曠敤Martin Fowler鐨勮瘽璇達紝瀵硅薄鍦ㄦ蹇靛眰嬈′笂鏄竴緇勮矗浠匯傚綋鏃舵垜瀵硅繖涓瑙傜偣澶т負鎰熷徆錛屽洜涓烘垜絎竴嬈¢鎮熶簡瀵硅薄鐨勮繖涓灞傚惈涔夛紝鑰屼笉鏄粎鏄璞℃槸綾葷殑瀹炰緥銆佺被鏄浉鍚屽睘鎬у拰琛屼負鐨勯泦鍚堛?br>鑻辮鏄簩鎶婂垁鎴戝"methods are
functions attached to an object"涓嶇悊瑙c?#8220;鏂規硶灝辨槸渚濋檮鍦ㄥ璞′笂鐨勫嚱鏁?#8221;錛屽鏋滆繖鏍瘋繖鍙ヨ瘽綆鐩村拰娌¤娌℃湁鍖哄埆銆傛煡浜唂unction鍚庯紝鍙戠幇鍏舵湁鑱岃矗鐨勫惈涔夈傚鍥戒漢搴旇鍦ㄨ搗funtion涓悕瀛楃殑鏃跺欙紝灝辨妸鑱岃矗榪欎釜鍚箟鍔犺繘鍘諱簡銆傝屾垜鍒欎粠涓鏁板璇句腑璁よ瘑瀹冨悗錛岀煡閬撳嚱鏁版槸緇欏畠杈撳叆浜嗕笢瑗跨劧鍚庝細寰楀埌涓笢瑗跨殑涓滆タ銆傚茍娌℃湁鏇存繁鍏ョ殑鍜屽姛鑳借仈緋誨埌涓璧楓傜湅鏉ヤ粠澶栧浗鏉ョ殑涓滆タ鎶婁粬鐩存帴緲昏瘧鎴愪腑鏂囨槸浼氭崯澶變竴閮ㄥ垎涓滆タ鐨勩傛瘮濡傝Rails鐢ㄥ埌Martin Fowler鐨凙ctive Record琚瘧鎴愭椿鍔ㄨ褰曪紝鑰佹槸瑙夊緱鏈夌潃寮傛牱銆傚懙鍛碉紝鏈夎兘鍔涜繕鏄鐪嬪師鐗堜功銆?br>
鍙?Adobe Flex 2: Training from the Source榪欐湰涔︼紝鍐欑殑澶粏錛屼竴鍙ヨ瘽鑳借鐨勶紝瑕佽В閲婂ソ鍑犲彞錛屽惐鍚卞悥鍚?.....鐪熷彈涓嶄簡
]]>
]]>
]]>
]]>
聽聽聽 浜屾祦紼嬪簭鍛樿煩鑴卞伐鍏鳳紝姣斾漢闄呮矡閫氾紝浠栫煡閬撴庢牱鍜岃佹澘娌熼氾紝鎬庢牱鍜屽悓浜嬫矡閫氾紝涔熺煡閬撴庢牱鍜屽鎴鋒矡閫氫粬鏈変竴涓垚鐔熷茍涓旂ǔ瀹氱殑鎬ф牸錛岃浠諱綍浜鴻窡浠栧湪涓璧峰仛浜嬮兘鏈夊畨鍏ㄦ劅錛屽茍涓旀劅鍒板揩涔愩?br />涓嫻佺▼搴忓憳姣旀佸害鍜屾柟娉?br />聽聽聽 涓嫻佺▼搴忓憳姣旂殑鏄涔犳佸害鍜屾柟娉曪紝鍖呮嫭瀵硅嚜鎴戞帶鍒剁殑鑳藉姏錛屼篃灝辨槸綰緥錛屾垜浠笉鐪嬩粬鍋氬嚭鏉ヤ粈涔堜簨錛岃屾槸鐪嬩粬鍑嗗鎬庝箞鍘誨仛錛屽寘鍚В鍐抽棶棰橀渶瑕佺殑鏃墮棿錛岃繕鏈夊涔犳柊浜嬬墿鐨勬柟娉曘?br />聽聽聽 鍙浠栨帉鎻′簡閫傚悎浠栬嚜宸辯殑瀛︿範鎬佸害鍜屾柟娉曪紝閭d箞浠栧彲浠ヤ粠浠諱綍鍙跺埢寮濮嬫柊鐨勫涔狅紝騫朵笖灞曠幇鏈濂界殑緇撴灉錛岃嚦浜庣幇鍦ㄤ細涓嶄細錛屾噦涓嶆噦閮戒笉閲嶈錛屽洜涓哄彧瑕佷粬鎯寵浠栧氨闅忔椂鍙互瑕侊紝涔熻兘瑕佸緱鍒般?br />瓚呯駭紼嬪簭鍛樻瘮鎬濇兂鍜岀礌璐?br />聽聽聽 紼嬪簭鍙槸璇█鐨勮〃榪幫紝鑰岃璦鍒欐槸鎬濇兂鐨勬辰鐐箋?br />聽聽聽 瓚呯駭紼嬪簭鍛樹笉浠呮敼鍙樻垜浠殑琛屼負錛屼篃浼佸浘鏀瑰彉鎴戜滑鐨勬濇兂銆備綘涓嶉渶瑕佷粠瓚呯駭紼嬪簭鍛樼殑浠g爜鍒ゆ柇浠栫殑绱犺川錛岃屾槸浠庝粬鍐欑殑瀛椼佷粬璇寸殑璇濆幓鎰熷彈浠栥佸洜涓烘病鏈夐偅涓濇兂鍒頒笉浜嗛偅涓鐣屻?br />
]]>
鍓嶄竴孌墊椂闂寸湅浜嗐婄▼搴忓憳銆嬬
3
鏈?/span>
Java
涓撳闂ㄨ瘖涓庢牱璋冪敤鍏跺畠鐨勭▼搴忥紝鎴戞妸鍏惰В絳斾唬鐮佹斁鍒頒竴涓▼搴忎腑錛屽涓嬬ず錛?/span>
import java.lang.*;
聽
public class runProg{
public static void main(String[] args){
聽聽聽聽聽聽 try{
聽聽聽聽聽聽
聽 Runtime rt=Runtime.getRuntime();
聽聽聽聽聽聽
聽 rt.exec("NotePad");
聽聽聽聽聽聽 }catch(Exception e){}
}
}
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
鍦ㄥ懡浠ょ涓嬬紪璇戣繍琛岋紝鐩存帴璋冪敤浜嗚浜嬫湰搴旂敤紼嬪簭錛屾病鏈変換浣曢棶棰樸?/span>
浣嗗湪鍥懼艦鐢ㄦ埛鐨勫簲鐢ㄧ▼搴忎腑錛屽氨涓嶈兘緙栬瘧錛屼唬鐮佺ず渚嬪涓嬶細
聽 void jButton1_actionPerformed(ActionEvent e) {
聽聽聽 //
涓嬫槸瑙g瓟浠g爜
try{
聽聽聽聽聽聽 Runtime rt=Runtime.getRuntime();
聽聽聽聽聽聽 rt.exec("NotePad");
聽聽聽 }catch(Exception e){
}
//
涓婃槸瑙g瓟浠g爜
聽 }
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
灝變笂闈㈢殑浠g爜鑰岃█錛屽彧鏄鏄庝簡璋冪敤鍏跺畠紼嬪簭鐨勫熀鏈柟娉曪紝浣嗘槸榪欐浠g爜鏍規湰涓嶈兘琚紪璇戣繃鍘伙紝鍦?/span> Jbuilder 涓殑緙栬瘧閿欒濡備笅錛?/span>
"Frame2.java":
Error #: 469 : variable e is already defined in method
jButton1_actionPerformed(java.awt.event.ActionEvent) at line 50, column
18
聽
聽
聽
聽
鐪嬪埌榪欎釜緙栬瘧閿欒涔熻璁や負鏄寜閽殑浜嬩歡瀹氫箟閿欒錛屽疄闄呬笂鏄?/span> AWT 涓?/span> Component 鐨勪簨浠舵槸綰跨▼瀹夊叏綰х殑錛屼笉鍏佽鐩存帴浣跨敤鍙﹀榪涚▼鎴栫嚎紼嬶紝鍥?/span> Swing 涓殑緇勪歡鏄粠 AWT 涓戶鎵挎潵鐨勶紝鎵浠ヤ篃涓嶅厑璁哥洿鎺ヤ嬌鐢ㄣ傝В鍐沖姙娉曞彧鏈変嬌鐢ㄤ竴涓柊綰跨▼銆備唬鐮佸涓嬬ず錛?/span>
聽 void jButton1_actionPerformed(ActionEvent e) {
聽聽聽 //must be use a new thread.
聽聽聽 Thread t = new Thread(new Runnable(){
聽聽聽 public void run(){
聽
聽聽聽聽 try {
聽聽聽聽聽聽聽 Runtime rt = Runtime().getRuntime();
聽聽聽聽聽聽聽 rt.exec(鈥渘otepad鈥?;
聽聽聽聽聽聽聽 } catch (IOException e) {
聽聽聽聽聽聽聽 System.err.println("IO error: " + e);
聽聽聽聽聽 }
聽
聽聽}
聽聽聽 });
聽聽聽 t.start();
聽
聽 }
浣嗘槸榪欐浠g爜榪樻槸涓嶈兘琚紪璇戯紝閿欒鎻愮ず濡備笅錛?/span>
"Frame1.java":
Error #: 300 : method Runtime() not found in anonymous class of method
jButton1_actionPerformed(java.awt.event.ActionEvent) at line 74, column
22
銆?/span>
聽
聽
聽
聽
鐪嬪埌榪欐浠g爜錛岃涓烘病鏈夊彂鐜?/span> Runtime() 錛屾垨鑰呮病鏈夊寘鍚?/span> Runtime 鎵鍦ㄧ殑鍖呫備絾瀹為檯涓婃槸 java 姣忎釜 Application 閮芥湁涓涓嚜宸辯殑 Runtime 錛屾墍浠ヤ笉鍏佽鏄懼紡澹版槑鍜屼嬌鐢ㄥ彟澶栦竴涓傚叾瀹烇紝璁稿鏂囩珷涔熼兘鏄繖涔堜粙緇嶇殑銆傚湪榪欓噷蹇呴』浣跨敤 Process 鏉ュ惎鐢ㄥ彟澶栦竴涓繘紼嬩嬌鐢?/span> Runtime 銆備唬鐮佺ず渚嬪涓嬶細
聽 void jButton1_actionPerformed(ActionEvent e) {
聽聽聽 //must be use a new thread.
聽聽聽 Thread t = new Thread(new Runnable(){
聽聽聽 public void run(){
聽聽聽聽聽 try {
聽聽聽聽聽聽聽 //String[] arrCommand = {"javaw", "-jar", "d:/Unicom/Salary/Salary.jar"};
聽聽聽聽聽聽聽聽聽聽聽聽聽 // Process p = Runtime.getRuntime().exec(arrCommand);
聽聽聽聽聽聽聽 Process p = Runtime.getRuntime().exec("notepad");
聽聽聽聽聽聽聽 p.waitFor();
聽聽聽聽聽聽聽 System.out.println("return code: " + p.exitValue());
聽聽聽聽聽 } catch (IOException e) {
聽聽聽聽聽聽聽 System.err.println("IO error: " + e);
聽聽聽聽聽 } catch (InterruptedException e1) {
聽聽聽聽聽
聽聽System.err.println("Exception: " + e1.getMessage());
聽聽聽聽聽 }
聽聽聽 }
聽聽聽 });
聽聽聽 t.start();
聽
聽 }
榪愯鍚庯紝鐐瑰嚮 jButton1 璋冪敤浜?/span> Windows 涓殑璁頒簨鏈簲鐢ㄧ▼搴忋傝繖閲岋紝鏂扮嚎紼嬩嬌鐢ㄤ簡 Runnable 鎺ュ彛錛岃繖鏄竴縐嶅父鐢ㄧ殑鎶宸с傚彟澶栵紝榪樺繀欏昏鎹曡幏 IOException 鍜?/span> InterruptedException 涓や釜寮傚父銆傚浜庤皟鐢ㄥ甫鏈夊弬鏁扮殑澶嶆潅紼嬪簭錛岃浣跨敤瀛楃涓叉暟緇勪唬鏇跨畝鍗曠殑瀛楃涓詫紝鎴戝湪涓婇潰鐨勪唬鐮佹敞閲婁簡銆?/span>