ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ96²¿·Ö
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡
¡¡¡°µ¯³öʽ¡±µÄ´°Ìå¡£¡¡¡¡
13¡£12¡£5¡¡Gr¡¡idBagLayout¡¡¡¡
ºÜÔçÒÔÇ°£¬ÈËÃÇÏàÐÅËùÓеĺãÐÇ¡¢ÐÐÐÇ¡¢Ì«Ñô¼°ÔÂÁÁ¶¼Î§ÈƵØÇò¹«×ª¡£ÕâÊÇÖ±¹ÛµÄ¹Û²ì¡£µ«ºóÀ´ÌìÎÄѧ¼Ò±ä¡¡
µÃ¸ü¼ÓµÄ¾«Ã÷£¬ËûÃÇ¿ªÊ¼¸ú×Ù¸ö±ðÐÇÌåµÄÒƶ¯£¬ËüÃÇÖеÄһЩËƺõÓÐʱÔÚ¹ìµÀÉÏ»ºÂýÔËÐС£ÒòΪÌìÎÄѧ¼ÒÖª¡¡
µÀËùÓеÄÌìÌ嶼ΧÈƵØÇò¹«×ª£¬ÌìÎÄѧ¼Ò»¨·ÑÁË´óÁ¿µÄʱ¼äÀ´ÌÖÂÛÏà¹ØµÄ·½³ÌʽºÍÀíÂÛÈ¥½âÊÍÌìÌå¶ÔÏóµÄÔË¡¡
ÐС£µ±ÎÒÃÇÊÔͼÓÃGridBagLayout¡¡À´¹¤×÷ʱ£¬ÎÒÃÇ¿ÉÒÔÏëÏñ×Ô¼ºÎªÒ»¸öÔçÆÚµÄÌìÎÄѧ¼Ò¡£»ù´¡µÄÌõÀýÊÇ£¨¹«¡¡
¸æ£ºÓÐȤµÄÊÇÉè¼ÆÕß¾ÓÈ»ÔÚÌ«ÑôÉÏ¡¡£¨Õâ¿ÉÄÜÊÇÔÚÌìÌåͼÖбê´íÁËλÖÃËùÖ£¬ÒëÕß×¢£©£©ËùÓеÄÌìÌ嶼½«×ñÊع桡
ÔòÀ´ÔËÐС£¸ç°×ÄáÈÕÐÂ˵£¨ÓÖÒ»´Î²»¹Ë³°·í£¬·¢ÏÖÌ«ÑôϵÄÚµÄËùÓеÄÐÐÐÇΧÈÆÌ«Ñô¹«×ª¡££©ÊÇʹÓÃÍøÂçͼÀ´¡¡
Åжϲ¼¾Ö£¬ÕâÖÖ·½·¨Ê¹µÃ³ÌÐòÔ±µÄ¹¤×÷±äµÃ¼òµ¥¡£Ö±µ½ÕâЩÔö¼Óµ½Java¡¡ÀÎÒÃÇÈÌÄÍ£¨³ÖÐøµÄÀä³°ÈÈ·í£©Î÷¡¡
°àÑÀµÄ¡¡GridBagLayout¡¡ºÍGridBagConstraints¡¡¿ñÈÈ×ڽ̡£ÎÒÃǽ¨Òé·ÏÖ¹GridBagLayout¡¡¡£È¡´úËüµÄÊÇ£¬Ê¹Óá¡
ÆäËüµÄ²¼¾Ö¹ÜÀíÆ÷ºÍÌØÊâµÄÔÚµ¥¸ö³ÌÐòÀïÁªºÏ¼¸¸öÃæ°åʹÓò»Í¬µÄ²¼¾Ö¹ÜÀíÆ÷µÄ¼¼Êõ¡£ÎÒÃǵijÌÐòƬ¿´ÆðÀ´¡¡
²»»áÓÐʲô²»Í¬£»ÖÁÉÙ²»×ãÒÔµ÷Õû¡¡GridBagLayout¡¡ÏÞÖƵÄÂé·³¡£¶ÔÎÒ¶øÑÔ£¬Í¨¹ýÒ»¸öÀý×ÓÀ´ÌÖÂÛËüʵÔÚÊÇÁî¡¡
ÈËÍ·Í´£¨²¢ÇÒÎÒ²»¹ÄÀøÕâÖÖ¿âÉè¼Æ£©¡£Ïà·´£¬ÎÒ½¨ÒéÄú´ÓÔĶÁ¡¡Cornell¡¡ºÍ¡¡Horstmann¡¡×«Ð´µÄ¡¶ºËÐÄJava¡·¡¡
¡¡£¨µÚ¶þ°æ£¬Prentice¡Hall¡¡³ö°æÉ磬1997¡¡Ä꣩¿ªÊ¼¡£¡¡¡¡
ÔÚÕⷶΧÄÚ»¹ÓÐÆäËüµÄ£ºÔÚJFC/Swing¡¡¿âÀïÓÐÒ»¸öеÄʹÓÃSmalltalk¡¡µÄÊÜÈË»¶ÓµÄ¡°Spring¡¡and¡¡Struts¡±¡¡
²¼¾Ö¹ÜÀíÆ÷²¢ÇÒËüÄÜÏÔÖøµØ¼õÉÙGridBagLayout¡¡µÄÐèÒª¡£¡¡¡¡
13¡£13¡¡action¡¡µÄÌæ´úÆ·¡¡¡¡
ÕýÈçÔçÏÈÖ¸³öµÄÄÇÑù£¬action£¨£©²¢²»ÊÇÎÒÃǶÔËùÓÐʽøÐзÖÀàºó×Ô¶¯ÎªhandleEvent£¨£©µ÷ÓõÄΨһ·½·¨¡£ÓС¡
Èý¸öÆäËüµÄ±»µ÷Óõķ½·¨¼¯£¬Èç¹ûÎÒÃÇÏ벶׽ijЩÀàÐ͵Äʼþ£¨¼üÅÌ¡¢Êó±êºÍ½¹µãʼþ£©£¬Òò´ËÎÒÃDz»µÃ²»¡¡
¹ýÔع涨µÄ·½·¨¡£ÕâЩ·½·¨ÊǶ¨ÒåÔÚ»ù´¡Àà×é¼þÀËùÒÔËûÃǼ¸ºõÔÚËùÓÐÎÒÃÇ¿ÉÄÜ°²·ÅÔÚ´°ÌåÖеÄ×é¼þÖж¼¡¡
ÊÇÓÐÓõġ£È»¶ø£¬ÎÒÃÇÒ²×¢Òâµ½ÕâÖÖ·½·¨ÔÚJava¡¡1¡£1¡¡°æÖÐÊDz»±»Ö§³ÖµÄ£¬Í¬Ñù¾¡¹ÜÎÒÃÇ¿ÉÄÜ×¢Òâµ½¼Ì³Ð´úÂë¡¡
ÀûÓÃÁËÕâÖÖ·½·¨£¬ÎÒÃǽ«»áʹÓÃJava¡¡1¡£1¡¡°æµÄ·½·¨À´´úÌ棨±¾ÕºóÃæÓÐÏêϸ½éÉÜ£©¡£¡¡¡¡
¡¡¡¡
×é¼þ·½·¨¡¡ºÎʱµ÷Óá¡¡¡
¡¡¡¡
action£¨Event¡¡evt£»¡¡Object¡¡what£©¡¡µ±µäÐ͵ÄʼþÕë¶Ô×é¼þ·¢Éú£¨ÀýÈ磬µ±°´ÏÂÒ»¸ö°´Å¥»òÏÂÀÁбíÏîÄ¿±»Ñ¡¡¡
ÖУ©Ê±µ÷Óá¡¡¡
keyDown£¨Event¡¡evt£»¡¡int¡¡key£©¡¡µ±°´¼ü±»°´Ï£¬×é¼þÓµÓн¹µãʱµ÷Óᣵڶþ¸ö×Ô±äÁ¿ÊÇ°´Ïµļü²¢ÇÒÊÇÈßÓà¡¡
µÄÊÇ´Óevt¡£key¡¡´¦¸´ÖÆÀ´µÄ¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡396¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡398¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
keyup£¨Event¡¡evt£»¡¡int¡¡key£©¡¡µ±°´¼ü±»ÊÍ·Å£¬×é¼þÓµÓн¹µãʱµ÷Óá¡¡¡
lostFocus£¨Event¡¡evt£»¡¡Object¡¡what£©¡¡½¹µã´ÓÄ¿±ê´¦ÒÆ¿ªÊ±µ÷Óá£Í¨³££¬what¡¡ÊÇ´Óevt¡£arg¡¡ÀïÈßÓิÖƵġ¡¡¡
gotFocus£¨Event¡¡evt£»¡¡Object¡¡what£©¡¡½¹µãÒƶ¯µ½Ä¿±êʱµ÷Óá¡¡¡
mouseDown£¨Event¡¡evt£»¡¡int¡¡x£¬int¡¡y£©¡¡Ò»¸öÊó±ê°´Ï´æÔÚÓÚ×é¼þÖ®ÉÏ£¬ÔÚ¡¡X£¬Y¡¡×ù±ê´¦Ê±µ÷Óá¡¡¡
mouseUp£¨Event¡¡evt£»¡¡int¡¡x£»¡¡int¡¡y£©¡¡Ò»¸öÊó±êÉýÆð´æÔÚÓÚ×é¼þÖ®ÉÏʱµ÷Óá¡¡¡
mouseMove£¨Event¡¡evt£»¡¡int¡¡x£»¡¡int¡¡y£©¡¡µ±Êó±êÔÚ×é¼þÉÏÒƶ¯Ê±µ÷Óá¡¡¡
mouseDrag£¨Event¡¡evt£»¡¡int¡¡x£»¡¡int¡¡y¡¡£©¡¡Êó±êÔÚÒ»´ÎmouseDown¡¡Ê¼þ·¢ÉúºóÍ϶¯¡£ËùÓÐÍ϶¯Ê¼þ¶¼»á±¨¸æ¸ø¡¡
ÄÚ²¿·¢ÉúÁËmouseDown¡¡Ê¼þµÄÄǸö×é¼þ£¬Ö±µ½Óöµ½Ò»´ÎmouseUp¡¡ÎªÖ¹¡¡¡¡
mouseEnter£¨Event¡¡evt£»¡¡int¡¡x£»¡¡int¡¡y£©¡¡¡¡Êó±ê´ÓÇ°²»ÔÚ×é¼þÉÏ·½£¬µ«Ä¿Ç°ÔÚ¡¡¡¡
mouseExit£¨Event¡¡evt£»¡¡int¡¡x£»¡¡int¡¡y£©¡¡Êó±êÔø¾Î»ÓÚ×é¼þÉÏ·½£¬µ«Ä¿Ç°²»ÔÚ¡¡¡¡
¡¡¡¡
µ±ÎÒÃÇ´¦ÀíÌØÊâÇé¿öʱ¡ª¡ªÒ»¸öÊó±êʼþ£¬ÀýÈ磬ËüÇ¡ºÃÊÇÎÒÃÇÏëµÃµ½µÄÊó±êʼþ´æÔÚµÄ×ù±ê£¬ÎÒÃǽ«¿´µ½¡¡
ÿ¸ö³ÌÐò½ÓÊÕÒ»¸öʼþÁ¬Í¬Ò»Ð©ÎÒÃÇËùÐèÒªµÄÐÅÏ¢¡£ÓÐȤµÄÊÇ£¬µ±×é¼þµÄ¡¡handleEvent£¨£©µ÷ÓÃÕâЩ·½·¨Ê±¡¡
¡¡£¨µäÐ͵ÄÊÂÀý£©£¬¸½¼ÓµÄ×Ô±äÁ¿×ÜÊǶàÓàµÄÒòΪËüÃÇ°üº¬ÔÚʼþ¶ÔÏóÀï¡£ÊÂʵÉÏ£¬Èç¹ûÎÒÃǹ۲졡
ponent¡£handleEvent£¨£©µÄÔ´´úÂ룬ÎÒÃÇÄÜ·¢ÏÖËüÏÔÈ»½«Ôö¼ÓµÄ×Ô±äÁ¿³é³öʼþ¶ÔÏó£¨Õâ¿ÉÄÜÊÇ¿¼Âǵ½ÔÚÒ»¡¡
ЩÓïÑÔÖÐÎÞЧÂʵıàÂ룬µ«Çë¼Çס¡¡Java¡¡µÄ½¹µãÊÇ°²È«µÄ£¬²»±Øµ£ÐÄ¡££©ÊÔÑé¶ÔÎÒÃDZíÃ÷ÕâЩʼþÊÂʵÉÏÔÚ±»¡¡
µ÷Óò¢ÇÒ×÷Ϊһ¸öÓÐȤµÄ³¢ÊÔÊÇÖµµÃ´´½¨Ò»¸ö¹ýÔØÿ¸ö·½·¨µÄ³ÌÐòƬ£¬£¨action£¨£©µÄ¹ýÔØÔÚ±¾ÕµÄÆäËüµØ¡¡
·½£©µ±Ê¼þ·¢ÉúʱÏÔʾËüÃǵÄÏà¹ØÊý¾Ý¡£¡¡¡¡
Õâ¸öÀý×ÓͬÑùÏòÎÒÃÇչʾÁËÔõÑùÖÆÔì×Ô¼ºµÄ°´Å¥¶ÔÏó£¬ÒòΪËüÊÇ×÷ΪĿ±êµÄËùÓÐʼþȨÒæÀ´Ê¹Óá£ÎÒ¿ÉÄܻᡡ
Ê×ÏÈ£¨Ò²ÊDZØÐëµÄ£©¼ÙÉèÖÆÔìÒ»¸öÐµİ´Å¥£¬ÎÒÃÇ´Ó°´Å¥´¦¼Ì³Ð¡£µ«Ëü²¢²»ÄÜÔËÐС£È¡¶ø´úÖ®µÄÊÇ£¬ÎÒÃÇ´Ó¡¡
»²¼×é¼þ´¦£¨Ò»¸ö·Ç³£ÆÕͨ×é¼þ£©¼Ì³Ð£¬²¢ÔÚÆäÉϲ»Ê¹Óá¡paint£¨£©·½·¨»³öÒ»¸ö°´Å¥¡£ÕýÈçÎÒÃÇËù¿´µ½µÄ£¬¡¡
×Ô´ÓһЩ´úÂë»ìÈëµ½»°´Å¥ÖÐÈ¥£¬°´Å¥¸ù±¾¾Í²»ÔËÐУ¬ÕâʵÔÚÊÇÌ«Ôã¸âÁË¡££¨Èç¹ûÄú²»ÏàÐÅÎÒ£¬ÊÔͼÔÚÀý×Ó¡¡
ÖÐΪ»²¼×é¼þ½»»»°´Å¥£¬Çë¼Çסµ÷ÓóÆΪsuper¡¡µÄ»ù´¡À๹½¨Æ÷¡£ÎÒÃǻῴµ½°´Å¥²»»á±»»³ö£¬Ê¼þÒ²²»»á¡¡
±»´¦Àí¡££©¡¡¡¡
myButton¡¡ÀàÊÇÃ÷ȷ˵Ã÷µÄ£ºËüÖ»ºÍÒ»¸ö×Ô¶¯Ê¼þ£¨AutoEvent£©¡°¸¸´°¿Ú¡±Ò»ÆðÔËÐУ¨¸¸´°¿Ú²»ÊÇÒ»¸ö»ù´¡¡¡
À࣬ËüÊÇ°´Å¥´´½¨ºÍ´æÔڵĴ°¿Ú¡££©¡£Í¨¹ýÕâ¸ö֪ʶ£¬myButton¡¡¿ÉÄܽøÈëµ½¸¸´°¿Ú²¢ÇÒ´¦ÀíËüµÄÎÄ×Ö×ֶΣ¬¡¡
±ØÈ»¾ÍÄܽ«×´Ì¬ÐÅϢдÈëµ½¸¸´°¿ÚµÄ×Ö¶ÎÀï¡£µ±È»ÕâÊÇÒ»Öַdz£ÓÐÏ޵Ľâ¾ö·½·¨£¬myButton¡¡½öÄÜÔÚÁ¬½á¡¡
AutoEvent¡¡Ê±±»Ê¹Óá£ÕâÖÖ´úÂëÓÐʱ³ÆΪ¡°¸ß¶È½áºÏ¡±¡£µ«ÊÇ£¬ÖÆÔìmyButton¡¡¸üÐèÒªºÜ¶àµÄ²»ÊÇΪÀý×Ó£¨ºÍ¡¡
¿ÉÄÜΪÎÒÃǽ«Ð´µÄһЩ³ÌÐòƬ£©µ£±£µÄŬÁ¦¡£ÔÙÕߣ¬Çë×¢ÒâÏÂÃæµÄ´úÂëʹÓÃÁËJava¡¡1¡£1¡¡°æ²»Ö§³ÖµÄ¡¡API¡£¡¡¡¡
¡¡¡¡
//£º¡¡AutoEvent¡£java¡¡¡¡
//¡¡Alternatives¡¡to¡¡action£¨£©¡¡¡¡
import¡¡java¡£awt¡£*£»¡¡¡¡
import¡¡java¡£applet¡£*£»¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
¡¡¡¡
class¡¡MyButton¡¡extends¡¡Canvas¡¡£û¡¡¡¡
¡¡¡¡AutoEvent¡¡parent£»¡¡¡¡
¡¡¡¡Color¡¡color£»¡¡¡¡
¡¡¡¡String¡¡label£»¡¡¡¡
¡¡¡¡MyButton£¨AutoEvent¡¡parent£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Color¡¡color£»¡¡String¡¡label£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡this¡£label¡¡=¡¡label£»¡¡¡¡
¡¡¡¡¡¡¡¡this¡£parent¡¡=¡¡parent£»¡¡¡¡
¡¡¡¡¡¡¡¡this¡£color¡¡=¡¡color£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡paint£¨Graphics¡¡¡¡g£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡g¡£setColor£¨color£©£»¡¡¡¡
¡¡¡¡¡¡¡¡int¡¡rnd¡¡=¡¡30£»¡¡¡¡
¡¡¡¡¡¡¡¡g¡£fillRoundRect£¨0£»¡¡0£»¡¡size£¨£©¡£width£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡size£¨£©¡£height£»¡¡rnd£»¡¡rnd£©£»¡¡¡¡
¡¡¡¡¡¡¡¡g¡£setColor£¨Color¡£black£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡397¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡399¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡g¡£drawRoundRect£¨0£»¡¡0£»¡¡size£¨£©¡£width£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡size£¨£©¡£height£»¡¡rnd£»¡¡rnd£©£»¡¡¡¡
¡¡¡¡¡¡¡¡FontMetrics¡¡fm¡¡=¡¡g¡£getFontMetrics£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡int¡¡width¡¡=¡¡fm¡£stringWidth£¨label£©£»¡¡¡¡
¡¡¡¡¡¡¡¡int¡¡height¡¡=¡¡fm¡£getHeight£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡int¡¡ascent¡¡=¡¡fm¡£getAscent£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡int¡¡leading¡¡=¡¡fm¡£getLeading£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡int¡¡horizMargin¡¡=¡¡£¨size£¨£©¡£width¡¡width£©/2£»¡¡¡¡
¡¡¡¡¡¡¡¡int¡¡verMargin¡¡=¡¡£¨size£¨£©¡£height¡¡height£©/2£»¡¡¡¡
¡¡¡¡¡¡¡¡g¡£setColor£¨Color¡£white£©£»¡¡¡¡
¡¡¡¡¡¡¡¡g¡£drawString£¨label£»¡¡horizMargin£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡verMargin¡¡£«¡¡ascent¡¡£«¡¡leading£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡keyDown£¨Event¡¡evt£»¡¡int¡¡key£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨TextField£©parent¡£h¡£get£¨¡¨keyDown¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡t¡£setText£¨evt¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡keyUp£¨Event¡¡evt£»¡¡int¡¡key£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨TextField£©parent¡£h¡£get£¨¡¨keyUp¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡t¡£setText£¨evt¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡lostFocus£¨Event¡¡evt£»¡¡Object¡¡w£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨TextField£©parent¡£h¡£get£¨¡¨lostFocus¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡t¡£setText£¨evt¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡gotFocus£¨Event¡¡evt£»¡¡Object¡¡w£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨TextField£©parent¡£h¡£get£¨¡¨gotFocus¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡t¡£setText£¨evt¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡¡¡¡¡
¡¡¡¡mouseDown£¨Event¡¡evt£»int¡¡x£»int¡¡y£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨TextField£©parent¡£h¡£get£¨¡¨mouseDown¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡t¡£setText£¨evt¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡¡¡¡¡
¡¡¡¡mouseDrag£¨Event¡¡evt£»int¡¡x£»int¡¡y£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨TextField£©parent¡£h¡£get£¨¡¨mouseDrag¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡t¡£setText£¨evt¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡398¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡400¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡mouseEnter£¨Event¡¡evt£»int¡¡x£»int¡¡y£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨TextField£©parent¡£h¡£get£¨¡¨mouseEnter¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡t¡£setText£¨evt¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡¡¡¡¡
¡¡¡¡mouseExit£¨Event¡¡evt£»int¡¡x£»int¡¡y£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨TextField£©parent¡£h¡£get£¨¡¨mouseExit¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡t¡£setText£¨evt¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡¡¡¡¡
¡¡¡¡mouseMove£¨Event¡¡evt£»int¡¡x£»int¡¡y£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨TextField£©parent¡£h¡£get£¨¡¨mouseMove¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡t¡£setText£¨evt¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡mouseUp£¨Event¡¡evt£»int¡¡x£»int¡¡y£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£¨TextField£©parent¡£h¡£get£¨¡¨mouseUp¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡t¡£setText£¨evt¡£toString£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡
¡¡¡¡
public¡¡class¡¡AutoEvent¡¡extends¡¡Applet¡¡£û¡¡¡¡
¡¡¡¡Hashtable¡¡h¡¡=¡¡new¡¡Hashtable£¨£©£»¡¡¡¡
¡¡¡¡String£§£§¡¡event¡¡=¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¨keyDown¡¨£»¡¡¡¨keyUp¡¨£»¡¡¡¨lostFocus¡¨£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¨gotFocus¡¨£»¡¡¡¨mouseDown¡¨£»¡¡¡¨mouseUp¡¨£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¨mouseMove¡¨£»¡¡¡¨mouseDrag¡¨£»¡¡¡¨mouseEnter¡¨£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¨mouseExit¡¨¡¡¡¡
¡¡¡¡£ý£»¡¡¡¡
¡¡¡¡MyButton¡¡¡¡¡¡
¡¡¡¡¡¡¡¡b1¡¡=¡¡new¡¡MyButton£¨this£»¡¡Color¡£blue£»¡¡¡¨test1¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡b2¡¡=¡¡new¡¡MyButton£¨this£»¡¡Color¡£red£»¡¡¡¨test2¡¨£©£»¡¡¡¡
¡¡¡¡public¡¡void¡¡init£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡setLayout£¨new¡¡GridLayout£¨event¡£length£«1£»2£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡event¡£length£»¡¡i£«£«£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡TextField¡¡t¡¡=¡¡new¡¡TextField£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡t¡£setEditable£¨false£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡add£¨new¡¡Label£¨event£§i£§£»¡¡Label¡£CENTER£©£©£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡add£¨t£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡h¡£put£¨event£§i£§£»¡¡t£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡add£¨b1£©£»¡¡¡¡
¡¡¡¡¡¡¡¡add£¨b2£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡399¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡401¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
ÎÒÃÇ¿ÉÒÔ¿´µ½¹¹½¨Æ÷ʹÓÃÀûÓÃ×Ô±äÁ¿Í¬ÃûµÄ·½·¨£¬ËùÒÔ×Ô±äÁ¿±»¸³Öµ£¬²¢ÇÒʹÓá¡this¡¡À´Çø·Ö£º¡¡¡¡
this¡£label¡¡=¡¡label£»¡¡¡¡
paint£¨£©·½·¨Óɼòµ¥µÄ¿ªÊ¼£ºËüÓð´Å¥µÄÑÕÉ«Ìî³äÁËÒ»¸ö¡°Ô²½Ç¾ØÐΡ±£¬È»ºó»ÁËÒ»¸öºÚÏßΧÈÆËü¡£Çë×¢Òâ¡¡
size£¨£©µÄʹÓþö¶¨ÁË×é¼þµÄ¿í¶ÈºÍ³¤¶È£¨µ±È»£¬ÊÇÏñËØ£©¡£ÕâÖ®ºó£¬paint£¨£©¿´ÆðÀ´·Ç³£µÄ¸´ÔÓ£¬ÒòΪÓдóÁ¿¡¡
µÄÔ¤²âÈ¥¼ÆËã³öÔõÑùÀûÓá°font¡¡metrics¡±¼¯Öа´Å¥µÄ±êÇ©µ½°´Å¥Àï¡£ÎÒÃÇÄܵõ½Ò»¸öÏ൱ºÃµÄ¹ØÓÚ¼ÌÐø¹Ø¡¡
×¢·½·¨µ÷ÓõÄÖ÷Ò⣬Ëü½«³ÌÐòÖÐÄÇЩÏ൱ƽ·²µÄ´úÂëÌô³ö£¬µ±ÎÒÃÇÏ뼯ÖÐÒ»¸ö±êÇ©µ½Ò»Ð©×é¼þÀïʱ£¬ÎÒÃÇÕý¡¡
ºÃ¿ÉÒÔ¶ÔËü½øÐмôÇкÍÕ³Ìù¡£¡¡¡¡
ÄúÖ±µ½×¢Òâµ½AutoEvent¡¡Àà²ÅÄÜÕýÈ·µØÀí½â¡¡keyDown£¨£©£»keyUp£¨£©¼°ÆäËü·½·¨µÄÔËÐС£Õâ°üº¬Ò»¸öHashtable¡¡
¡¡£¨ÒëÕß×¢£ºÉ¢ÁÐ±í£©È¥¿ØÖÆ×Ö·û´®À´ÃèÊö¹ØÓÚʼþ´¦ÀíµÄʼþºÍTextField¡¡ÀàÐÍ¡£µ±È»£¬ÕâЩÄܱ»¾²Ì¬µÄ´´¡¡
½¨¶ø²»ÊÇ·ÅÈëHashtable¡¡µ«ÎÒÈÏΪÄú»áͬÒâËüÊǸüÈÝÒ×ʹÓú͸ıäµÄ¡£ÌرðÊÇ£¬Èç¹ûÎÒÃÇÐèÒªÔÚAutoEvent¡¡
ÖÐÔö¼Ó»òɾ³ýÒ»¸öеÄʼþÀàÐÍ£¬ÎÒÃÇÖ»ÐèÒª¼òµ¥µØÔÚʼþÁжÓÖÐÔö¼Ó»òɾ³ýÒ»¸ö×Ö·û´®¡ª¡ªËùÓеŤ×÷¶¼¡¡
×Ô¶¯µØÍê³ÉÁË¡£¡¡¡¡
ÎÒÃDzé³öÔÚ¡¡keyDown£¨£©£¬keyup£¨£©¼°ÆäËü·½·¨ÖеÄ×Ö·û´®µÄλÖûص½¡¡myButton¡¡ÖС£ÕâЩ·½·¨ÖеÄÈκÎÒ»¸ö¶¼¡¡
Óø¸¾ä±úÊÔͼ»Øµ½¸¸´°¿Ú¡£¸¸ÀàÊÇÒ»¸öAutoEvent£¬Ëü°üº¬Hashtable¡¡h¡¡ºÍget£¨£©·½·¨£¬µ±ÓµÓÐÌض¨µÄ×Ö·û´®¡¡
ʱ£¬½«¶ÔÒ»¸öÎÒÃÇÖªµÀµÄTextField¡¡¶ÔÏó²úÉúÒ»¸ö¾ä±ú£¨Òò´ËËü±»Ñ¡Åɵ½ÄÇ£©¡£È»ºóʼþ¶ÔÏóÐÞ¸ÄÏÔʾÔÚ¡¡
TextField¡¡ÖеÄ×Ö·û´®³ÂÊö¡£´ÓÎÒÃÇ¿ÉÒÔÕæÕý×¢Òâµ½¾Ù³öµÄÀý×ÓÔÚÎÒÃǵijÌÐòÖÐÔËÐÐʼþʱÒÔÀ´£¬¿ÉÒÔ·¢ÏÖ¡¡
Õâ¸öÀý×ÓÔËÐÐÆðÀ´ÆÄΪÓÐȤµÄ¡£¡¡¡¡
13¡£14¡¡³ÌÐòƬµÄ¾ÖÏÞ¡¡¡¡
³öÓÚ°²È«Ôµ¹Ê£¬³ÌÐòƬʮ·ÖÊܵ½ÏÞÖÆ£¬²¢ÇÒÓкܶàµÄÊÂÎÒÃǶ¼²»ÄÜ×ö¡£ÄúÒ»°ã»áÎÊ£º³ÌÐòƬ¿´ÆðÀ´ÄÜ×öʲ¡¡
ô£¬´«ÎÅËüÓÖÄÜ×öʲô£ºÀ©Õ¹ä¯ÀÀÆ÷ÖÐWEB¡¡Ò³µÄ¹¦ÄÜ¡£×Ô´Ó×÷Ϊһ¸öÍøÉϳåÀËÕߣ¬ÎÒÃÇ´ÓδÕæÕýÏëÁ˽âÊÇ·ñ¡¡
Ò»¸öWEB¡¡Ò³À´×ÔÓѺõĻòÕß²»ÓѺõÄÕ¾µã£¬ÎÒÃÇÏëҪһЩ¿ÉÒÔ°²È«µØÐж¯µÄ´úÂë¡£ËùÒÔÎÒÃÇ¿ÉÄÜ»á×¢Òâµ½´ó¡¡
Á¿µÄÏÞÖÆ£º¡¡¡¡
£¨1£©¡¡Ò»¸ö³ÌÐòƬ²»ÄܽӴ¥µ½±¾µØµÄ´ÅÅÌ¡£ÕâÒâζ×Ų»ÄÜÔÚ±¾µØ´ÅÅÌÉÏдºÍ¶Á£¬ÎÒÃDz»ÏëÒ»¸ö³ÌÐòƬͨ¹ýWEB¡¡
Ò³ÃæÔĶÁºÍ´«ËÍÖØÒªµÄÐÅÏ¢¡£Ð´ÊDZ»½ûÖ¹µÄ£¬µ±È»£¬ÒòΪÄǽ«»áÒýÆ𲡶¾µÄÇÖÈë¡£µ±Êý×ÖÇ©ÃûÉúЧʱ£¬ÕâЩ¡¡
ÏÞÖƻᱻ½â³ý¡£¡¡¡¡
£¨2£©¡¡³ÌÐòƬ²»ÄÜÓµÓв˵¥¡££¨×¢Ò⣺ÕâÊǹ涨ÔÚSwing¡¡Öеģ©Õâ¿ÉÄÜ»á¼õÉÙ¹ØÓÚ°²È«ºÍ¹ØÓÚ³ÌÐò¼ò»¯µÄÂé¡¡
·³¡£ÎÒÃÇ¿ÉÄÜ»á½Óµ½ÓйسÌÐòƬе÷ÀûÒæÒÔ×÷ΪWEB¡¡Ò³ÃæµÄÒ»²¿·ÖµÄ֪ͨ£»¶øÎÒÃÇͨ³£²»È¥×¢Òâ³ÌÐòƬµÄ·¶¡¡
Χ¡£Õâ¶ùûÓÐÖ¡ºÍ±êÌâÌõ´Ó²Ëµ¥´¦µ¯³ö£¬³öÏÖµÄÖ¡ºÍ±êÌâÌõÊÇÊôÓÚWEB¡¡ä¯ÀÀÆ÷µÄ¡
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾Ñé½±Àø£¬ÈÏÕæдԴ´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾Ñé½±ÀøŶ£¡