锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
銆銆涓婁竴鑺備腑鐨勪富瑕佸唴瀹規槸濡備綍鏀劇疆鍚勭緇勪歡錛屼嬌鍥懼艦鐣岄潰鏇村姞涓板瘜澶氬僵錛屼絾鏄繕涓嶈兘鍝嶅簲鐢ㄦ埛鐨勪換浣曟搷浣滐紝瑕佽兘澶熻鍥懼艦鐣岄潰鎺ユ敹鐢ㄦ埛鐨勬搷浣滐紝灝卞繀欏葷粰鍚勪釜緇勪歡鍔犱笂浜嬩歡澶勭悊鏈哄埗銆傚湪浜嬩歡澶勭悊鐨勮繃紼嬩腑錛屼富瑕佹秹鍙婁笁綾誨璞★細
銆銆鈼?Event-浜嬩歡錛岀敤鎴峰鐣岄潰鎿嶄綔鍦╦ava璇█涓婄殑鎻忚堪錛屼互綾葷殑褰㈠紡鍑虹幇錛屼緥濡傞敭鐩樻搷浣滃搴旂殑浜嬩歡綾繪槸KeyEvent銆?BR>銆銆鈼?Event Source-浜嬩歡婧愶紝浜嬩歡鍙戠敓鐨勫満鎵錛岄氬父灝辨槸鍚勪釜緇勪歡錛屼緥濡傛寜閽瓸utton銆?BR>銆銆鈼?Event handler-浜嬩歡澶勭悊鑰咃紝鎺ユ敹浜嬩歡瀵硅薄騫跺鍏惰繘琛屽鐞嗙殑瀵硅薄
銆銆渚嬪錛屽鏋滅敤鎴風敤榧犳爣鍗曞嚮浜嗘寜閽璞utton錛屽垯璇ユ寜閽産utton灝辨槸浜嬩歡婧愶紝鑰宩ava榪愯鏃剁郴緇熶細鐢熸垚ActionEvent綾葷殑瀵硅薄actionE錛岃瀵硅薄涓弿榪頒簡璇ュ崟鍑諱簨浠跺彂鐢熸椂鐨勪竴浜涗俊鎭紝鐒跺悗錛屼簨浠跺鐞嗚呭璞″皢鎺ユ敹鐢眏ava榪愯鏃剁郴緇熶紶閫掕繃鏉ョ殑浜嬩歡瀵硅薄actionE騫惰繘琛岀浉搴旂殑澶勭悊銆?BR>
銆銆鐢變簬鍚屼竴涓簨浠舵簮涓婂彲鑳藉彂鐢熷縐嶄簨浠訛紝鍥犳java閲囧彇浜嗘巿鏉冨鐞嗘満鍒?Delegation Model)錛屼簨浠舵簮鍙互鎶婂湪鍏惰嚜韜墍鏈夊彲鑳藉彂鐢熺殑浜嬩歡鍒嗗埆鎺堟潈緇欎笉鍚岀殑浜嬩歡澶勭悊鑰呮潵澶勭悊銆傛瘮濡傚湪Canvas瀵硅薄涓婃棦鍙兘鍙戠敓榧犳爣浜嬩歡錛屼篃鍙兘鍙戠敓閿洏浜嬩歡錛岃Canvas瀵硅薄灝卞彲浠ユ巿鏉冪粰浜嬩歡澶勭悊鑰呬竴鏉ュ鐞嗛紶鏍囦簨浠訛紝鍚屾椂鎺堟潈緇欎簨浠跺鐞嗚呬簩鏉ュ鐞嗛敭鐩樹簨浠躲傛湁鏃朵篃灝嗕簨浠跺鐞嗚呯О涓虹洃鍚櫒錛屼富瑕佸師鍥犱篃鍦ㄤ簬鐩戝惉鍣ㄦ椂鍒葷洃鍚潃浜嬩歡婧愪笂鎵鏈夊彂鐢熺殑浜嬩歡綾誨瀷錛屼竴鏃﹁浜嬩歡綾誨瀷涓庤嚜宸辨墍璐熻矗澶勭悊鐨勪簨浠剁被鍨嬩竴鑷達紝灝遍┈涓婅繘琛屽鐞嗐傛巿鏉冩ā鍨嬫妸浜嬩歡鐨勫鐞嗗鎵樼粰澶栭儴鐨勫鐞嗗疄浣撹繘琛屽鐞嗭紝瀹炵幇浜嗗皢浜嬩歡婧愬拰鐩戝惉鍣ㄥ垎寮鐨勬満鍒躲備簨浠跺鐞嗚咃紙鐩戝惉鍣級閫氬父鏄竴涓被錛岃綾誨鏋滆鑳藉澶勭悊鏌愮綾誨瀷鐨勪簨浠訛紝灝卞繀欏誨疄鐜頒笌璇ヤ簨浠剁被鍨嬬浉瀵圭殑鎺ュ彛銆備緥濡備緥5.9涓被ButtonHandler涔嬫墍浠ヨ兘澶熷鐞咥ctionEvent浜嬩歡錛屽師鍥犲湪浜庡畠瀹炵幇浜嗕笌ActionEvent浜嬩歡瀵瑰簲鐨勬帴鍙ctionListener銆傛瘡涓簨浠剁被閮芥湁涓涓笌涔嬬浉瀵瑰簲鐨勬帴鍙c?BR>
銆銆灝嗕簨浠舵簮瀵硅薄鍜屼簨浠跺鐞嗗櫒錛堜簨浠剁洃鍚櫒錛夊垎寮銆傚涓嬪浘鎵紺?BR>
銆銆銆銆
銆銆鎵撲釜涓嶅お鎭板綋鐨勬瘮鍠伙紝姣斿璇存湁涓浣嶆潕鍏堢敓錛屾潕鍏堢敓鍙兘浼氬彂鐢熷緢澶氭硶寰嬬籂綰鳳紝鍙兘鏄皯浜嬫硶寰嬬籂綰鳳紝涔熷彲鑳芥槸鍒戜簨娉曞緥綰犵悍錛岄偅涔堟潕鍏堢敓鍙互璇峰緥甯堬紝浠栧彲浠ユ巿鏉冪帇寰嬪笀璐熻矗甯粬鎵撴皯浜嬫硶寰嬬殑瀹樺徃錛屽悓鏃朵篃鍙互鎺堟潈寮犲緥甯堝府浠栨墦鍒戜簨娉曞緥鐨勫畼鍙搞傝繖涓寰嬪笀鐨勮繃紼嬩粠鏉庡厛鐢熺殑瑙掑害鏉ョ湅錛屽氨鏄巿鏉冪殑榪囩▼錛岃屼粠鐜嬪緥甯堝拰寮犲緥甯堢殑瑙掑害鏉ョ湅錛屼竴鏃﹁鎺堟潈錛屼粬浠氨寰楁椂鍒誨鏉庡厛鐢熻礋璐o紝"鐩戝惉"鐫鏉庡厛鐢燂紝涓鏃﹀彂鐢熸皯浜嬬籂綰蜂簡錛岀帇寰嬪笀灝辮椹笂鍘誨鐞嗭紝鑰屼竴鏃﹀彂鐢熷垜浜嬬籂綰蜂簡錛屽紶寰嬪笀灝辮椹笂榪涜澶勭悊銆傛鏃舵鍒伙紝鏉庡厛鐢熷氨鏄簨浠舵簮錛岀帇寰嬪笀鏄竴涓簨浠跺鐞嗚咃紝寮犲緥甯堟槸鍙﹀涓涓簨浠跺鐞嗚咃紝姘戜簨綰犵悍鍜屽垜浜嬬籂綰峰氨鏄笉鍚岀被鍨嬬殑浜嬩歡銆?BR>
銆 4. CardLayout
銆銆CardLayout甯冨眬綆$悊鍣ㄨ兘澶熷府鍔╃敤鎴峰鐞嗕袱涓互鑷蟲洿澶氱殑鎴愬憳鍏變韓鍚屼竴鏄劇ず絀洪棿錛屽畠鎶婂鍣ㄥ垎鎴愯澶氬眰錛屾瘡灞傜殑鏄劇ず絀洪棿鍗犳嵁鏁翠釜瀹瑰櫒鐨勫ぇ灝忥紝浣嗘槸姣忓眰鍙厑璁告斁緗竴涓粍浠訛紝褰撶劧姣忓眰閮藉彲浠ュ埄鐢≒anel鏉ュ疄鐜板鏉傜殑鐢ㄦ埛鐣岄潰銆傜墝甯冨眬綆$悊鍣紙CardLayout錛夊氨璞′竴鍓彔寰楁暣鏁撮綈榻愮殑鎵戝厠鐗屼竴鏍鳳紝鏈?4寮犵墝錛屼絾鏄綘鍙兘鐪嬭鏈涓婇潰鐨勪竴寮犵墝錛屾瘡涓寮犵墝灝辯浉褰撲簬鐗屽竷灞綆$悊鍣ㄤ腑鐨勬瘡涓灞傘?BR>銆渚?
銆5錛庡鍣ㄧ殑宓屽
銆銆鍦ㄥ鏉傜殑鍥懼艦鐢ㄦ埛鐣岄潰璁捐涓紝涓轟簡浣垮竷灞鏇村姞鏄撲簬綆$悊錛屽叿鏈夌畝媧佺殑鏁翠綋椋庢牸錛屼竴涓寘鍚簡澶氫釜緇勪歡鐨勫鍣ㄦ湰韜篃鍙互浣滀負涓涓粍浠跺姞鍒板彟涓涓鍣ㄤ腑鍘伙紝瀹瑰櫒涓啀娣誨姞瀹瑰櫒錛岃繖鏍峰氨褰㈡垚浜嗗鍣ㄧ殑宓屽銆備笅闈㈡槸涓涓鍣ㄥ祵濂楃殑渚嬪瓙銆?BR>渚?
銆灝?緇擄細
銆銆銆1錛嶧rame鏄竴涓《綰х獥鍙c侳rame鐨勭己鐪佸竷灞綆$悊鍣ㄤ負BorderLayout銆?BR>銆銆銆2錛嶱anel 鏃犳硶鍗曠嫭鏄劇ず錛屽繀欏繪坊鍔犲埌鏌愪釜瀹瑰櫒涓?Panel 鐨勭己鐪佸竷灞綆$悊鍣ㄤ負FlowLayout銆?BR>銆銆銆3錛庡綋鎶奝anel 浣滀負涓涓粍浠舵坊鍔犲埌鏌愪釜瀹瑰櫒涓悗錛岃Panel 浠嶇劧鍙互鏈夎嚜宸辯殑甯冨眬綆$悊鍣ㄣ傚洜姝わ紝鍙互鍒╃敤Panel 浣垮緱BorderLayout 涓煇涓尯鍩熸樉紺哄涓粍浠訛紝杈懼埌璁捐澶嶆潅鐢ㄦ埛鐣岄潰鐨勭洰鐨?銆?BR>銆銆銆4錛庡鏋滈噰鐢ㄦ棤甯冨眬綆$悊鍣?setLayout(null)錛屽垯蹇呴』浣跨敤setLocation(),setSize(),setBounds()絳夋柟娉曟墜宸ヨ緗粍浠剁殑澶у皬鍜屼綅緗紝姝ゆ柟娉曚細瀵艱嚧騫沖彴鐩稿叧錛屼笉榧撳姳浣跨敤銆?/SPAN>
銆 甯冨眬綆$悊鍣ㄤ富瑕佸寘鎷細FlowLayout錛孊orderLayout錛孏ridLayout錛孋ardLayout錛孏ridBagLayout
渚?
榪愯緇撴灉濡備笅錛?BR>
銆1. FlowLayout
銆銆FlowLayout 鏄疨anel錛孉pplet鐨勭己鐪佸竷灞綆$悊鍣ㄣ傚叾緇勪歡鐨勬斁緗寰嬫槸浠庝笂鍒頒笅銆佷粠宸﹀埌鍙寵繘琛屾斁緗紝濡傛灉瀹瑰櫒瓚沖瀹斤紝絎竴涓粍浠跺厛娣誨姞鍒板鍣ㄤ腑絎竴琛岀殑鏈宸﹁竟錛屽悗緇殑緇勪歡渚濇娣誨姞鍒頒笂涓涓粍浠剁殑鍙寵竟錛屽鏋滃綋鍓嶈宸叉斁緗笉涓嬭緇勪歡錛屽垯鏀劇疆鍒頒笅涓琛岀殑鏈宸﹁竟銆?BR>銆銆鏋勯犳柟娉曚富瑕佷笅闈㈠嚑縐嶏細
銆銆FlowLayout(FlowLayout.RIGHT,20,40);
銆銆/*絎竴涓弬鏁拌〃紺虹粍浠剁殑瀵歸綈鏂瑰紡錛屾寚緇勪歡鍦ㄨ繖涓琛屼腑鐨勪綅緗槸灞呬腑瀵歸綈銆佸眳鍙沖榻愯繕鏄眳宸﹀榻愶紝絎簩涓弬鏁版槸緇勪歡涔嬮棿鐨勬í鍚戦棿闅旓紝絎笁涓弬鏁版槸緇勪歡涔嬮棿鐨勭旱鍚戦棿闅旓紝鍗曚綅鏄薄绱犮?/
銆銆FlowLayout(FlowLayout.LEFT);
銆銆//灞呭乏瀵歸綈錛屾í鍚戦棿闅斿拰綰靛悜闂撮殧閮芥槸緙虹渷鍊?涓薄绱?/FONT>
銆銆FlowLayout();
銆銆//緙虹渷鐨勫榻愭柟寮忓眳涓榻愶紝妯悜闂撮殧鍜岀旱鍚戦棿闅旈兘鏄己鐪佸?涓薄绱?BR>渚?
榪愯緇撴灉濡備笅:
褰撳鍣ㄧ殑澶у皬鍙戠敓鍙樺寲鏃訛紝鐢‵lowLayout綆$悊鐨勭粍浠朵細鍙戠敓鍙樺寲錛屽叾鍙樺寲瑙勫緥鏄細緇勪歡鐨勫ぇ灝忎笉鍙橈紝浣嗘槸鐩稿浣嶇疆浼氬彂鐢熷彉鍖栥備緥濡備笂鍥句腑鏈変笁涓寜閽兘澶勪簬鍚屼竴琛岋紝浣嗘槸濡傛灉鎶婅紿楀彛鍙樼獎錛岀獎鍒板垰濂借兘澶熸斁涓嬩竴涓寜閽紝鍒欑浜屼釜鎸夐挳灝嗘姌鍒扮浜岃錛岀涓変釜鎸夐挳灝嗘姌鍒扮涓夎銆傛寜閽?Open"鏈潵鍦ㄦ寜閽?OK"鐨勫彸杈癸紝浣嗘槸鐜板湪璺戝埌浜嗕笅闈紝鎵浠ヨ"緇勪歡鐨勫ぇ灝忎笉鍙橈紝浣嗘槸鐩稿浣嶇疆浼氬彂鐢熷彉鍖?銆?BR>
銆
榪愯緇撴灉濡備笅:
鍦ㄤ嬌鐢˙orderLayout鐨勬椂鍊欙紝濡傛灉瀹瑰櫒鐨勫ぇ灝忓彂鐢熷彉鍖栵紝鍏跺彉鍖栬寰嬩負錛氱粍浠剁殑鐩稿浣嶇疆涓嶅彉錛屽ぇ灝忓彂鐢熷彉鍖栥備緥濡傚鍣ㄥ彉楂樹簡錛屽垯North銆丼outh鍖哄煙涓嶅彉錛學est銆丆enter銆丒ast鍖哄煙鍙橀珮錛涘鏋滃鍣ㄥ彉瀹戒簡錛學est銆丒ast鍖哄煙涓嶅彉錛孨orth銆丆enter銆丼outh鍖哄煙鍙樺銆備笉涓瀹氭墍鏈夌殑鍖哄煙閮芥湁緇勪歡錛屽鏋滃洓鍛ㄧ殑鍖哄煙錛圵est銆丒ast銆丯orth銆丼outh鍖哄煙錛夋病鏈夌粍浠訛紝鍒欑敱Center鍖哄煙鍘昏ˉ鍏咃紝浣嗘槸濡傛灉Center鍖哄煙娌℃湁緇勪歡錛屽垯淇濇寔絀虹櫧錛屽叾鏁堟灉濡備笅鍑犲箙鍥炬墍紺猴細
銆銆
銆銆銆銆銆銆銆North鍖哄煙緙哄皯緇勵懆銆銆銆銆銆銆銆銆
銆銆
銆銆銆銆銆銆North鍜孋enter鍖哄煙緙哄皯緇勪歡
3. GridLayout
銆銆浣垮鍣ㄤ腑鍚勪釜緇勪歡鍛堢綉鏍肩姸甯冨眬錛屽鉤鍧囧崰鎹鍣ㄧ殑絀洪棿銆?BR>
1.2 緇勪歡鍜屽鍣?/FONT>
銆銆Java鐨勫浘褰㈢敤鎴風晫闈㈢殑鏈鍩烘湰緇勬垚閮ㄥ垎鏄粍浠訛紙Component錛夛紝緇勪歡鏄竴涓彲浠ヤ互鍥懼艦鍖栫殑鏂瑰紡鏄劇ず鍦ㄥ睆騫曚笂騫惰兘涓庣敤鎴瘋繘琛屼氦浜掔殑瀵硅薄錛屼緥濡備竴涓寜閽紝涓涓爣絳劇瓑銆傜粍浠朵笉鑳界嫭绔嬪湴鏄劇ず鍑烘潵錛屽繀欏誨皢緇勪歡鏀懼湪涓瀹氱殑瀹瑰櫒涓墠鍙互鏄劇ず鍑烘潵銆?/SPAN>
銆銆綾籮ava.awt.Component鏄澶氱粍浠剁被鐨勭埗綾伙紝Component綾諱腑灝佽浜嗙粍浠墮氱敤鐨勬柟娉曞拰灞炴э紝濡傚浘褰㈢殑緇勪歡瀵硅薄銆佸ぇ灝忋佹樉紺轟綅緗佸墠鏅壊鍜岃儗鏅壊銆佽竟鐣屻佸彲瑙佹х瓑錛屽洜姝よ澶氱粍浠剁被涔熷氨緇ф壙浜咰omponent綾葷殑鎴愬憳鏂規硶鍜屾垚鍛樺彉閲忥紝鐩稿簲鐨勬垚鍛樻柟娉曞寘鎷細
銆銆銆getComponentAt(int x, int y)
銆銆銆getFont()
銆銆銆getForeground()
銆銆銆getName()
銆銆銆getSize()
銆銆銆paint(Graphics g)
銆銆銆repaint()
銆銆銆update()
銆銆銆setVisible(boolean b)
銆銆銆setSize(Dimension d)
銆銆銆setName(String name)絳?/FONT>
銆銆
銆銆瀹瑰櫒(Container)涔熸槸涓涓被錛屽疄闄呬笂鏄疌omponent鐨勫瓙綾伙紝鍥犳瀹瑰櫒鏈韓涔熸槸涓涓粍浠訛紝鍏鋒湁緇勪歡鐨勬墍鏈夋ц川錛屼絾鏄畠鐨勪富瑕佸姛鑳芥槸瀹圭撼鍏跺畠緇勪歡鍜屽鍣ㄣ?BR>
銆銆甯冨眬綆$悊鍣紙LayoutManager錛夛細姣忎釜瀹瑰櫒閮芥湁涓涓竷灞綆$悊鍣紝褰撳鍣ㄩ渶瑕佸鏌愪釜緇勪歡榪涜瀹氫綅鎴栧垽鏂叾澶у皬灝哄鏃訛紝灝變細璋冪敤鍏跺搴旂殑甯冨眬綆$悊鍣ㄣ?BR>
銆銆涓轟簡浣挎垜浠敓鎴愮殑鍥懼艦鐢ㄦ埛鐣岄潰鍏鋒湁鑹ソ鐨勫鉤鍙版棤鍏蟲э紝Java璇█涓紝鎻愪緵浜嗗竷灞綆$悊鍣ㄨ繖涓伐鍏鋒潵綆$悊緇勪歡鍦ㄥ鍣ㄤ腑鐨勫竷灞錛岃屼笉浣跨敤鐩存帴璁劇疆緇勪歡浣嶇疆鍜屽ぇ灝忕殑鏂瑰紡銆?/FONT>
銆銆鍦ㄧ▼搴忎腑瀹夋帓緇勪歡鐨勪綅緗拰澶у皬鏃訛紝搴旇娉ㄦ剰浠ヤ笅涓ょ偣錛?BR>銆銆1錛庡鍣ㄤ腑鐨勫竷灞綆$悊鍣ㄨ礋璐e悇涓粍浠剁殑澶у皬鍜屼綅緗紝鍥犳鐢ㄦ埛鏃犳硶鍦ㄨ繖縐嶆儏鍐典笅璁劇疆緇勪歡鐨勮繖浜涘睘鎬с傚鏋滆瘯鍥句嬌鐢↗ava 璇█鎻愪緵鐨剆etLocation()錛宻etSize()錛宻etBounds() 絳夋柟娉曪紝鍒欓兘浼氳甯冨眬綆$悊鍣ㄨ鐩栥?
銆銆2錛庡鏋滅敤鎴風‘瀹為渶瑕佷翰鑷緗粍浠跺ぇ灝忔垨浣嶇疆錛屽垯搴斿彇娑堣瀹瑰櫒鐨勫竷灞綆$悊鍣紝鏂規硶涓猴細
銆銆銆setLayout(null)錛?/SPAN>
1.3 甯哥敤瀹瑰櫒
銆銆瀹瑰櫒java.awt.Container鏄疌omponent鐨勫瓙綾伙紝涓涓鍣ㄥ彲浠ュ綰沖涓粍浠訛紝騫朵嬌瀹冧滑鎴愪負涓涓暣浣撱傚鍣ㄥ彲浠ョ畝鍖栧浘褰㈠寲鐣岄潰鐨勮璁★紝浠ユ暣浣撶粨鏋勬潵甯冪疆鐣岄潰銆傛墍鏈夌殑瀹瑰櫒閮藉彲浠ラ氳繃add()鏂規硶鍚戝鍣ㄤ腑娣誨姞緇勪歡銆?BR>鏈変笁縐嶇被鍨嬬殑瀹瑰櫒錛歐indow銆丳anel銆丼crollPane錛屽父鐢ㄧ殑鏈塒anel, Frame, Applet銆?BR>1錛嶧rame
銆銆
浠ヤ笅鏄鍣ㄧ殑渚嬪瓙錛?BR>渚?