Ëæ×ÅInternetÓëÍøÂçµÄѸËÙ·¢Õ¹²¢Öð²½×ß½øÈËÃǵļÒÍ¥£¬Ê¹Ïû·Ñµç×Ó¡¢¼ÆËã»ú¡¢Í¨ÐÅ(3C)Ò»Ì廯Ç÷ÊÆÈÕÇ÷Ã÷ÏÔ£¬Ç¶ÈëʽϵͳҲ³ÉΪÑо¿ÓëÓ¦ÓõÄÈȵ㡣ǶÈëʽʵʱLinux²Ù×÷ϵͳÒÔ¼Û¸ñµÍÁ®¡¢¹¦ÄÜÇ¿´óÓÖÒ×ÓÚÒÆÖ²¶øÕýÔÚ±»¹ã·º²ÉÓ㬳ÉΪÐÂÐ˵ÄÁ¦Á¿£¬µ±È»£¬ÓÐÑÛ¹âµÄÈËÔçÒѾ¿´³öÆäÖеķ¢Õ¹ºÍÇ°¾°¡£Èç½ñËæ×ÅWAPÊÖ»ú¡¢PDA¡¢»ú¶¥ºÐ¡¢¼°DVD/VCD²¥·Å»úÒѾѸËÙÆÕ¼°£¬Óû§¶ÔÕâЩÊÖ³ÖʽÉ豸µÄGUIÌá³öÁ˸ü¸ßµÄÒªÇó£¬Ï£ÍûÄÜ¿´µ½ÏñPC»ú²ÅÓµÓеĻªÀöÃÀ¹ÛµÄGUI¡£GUIÒѾ³ÉΪÁËÈËÓë»úÆ÷¹µÍ¨µÄÇÅÁº£¬Ç¶Èëʽϵͳ¶ÔGUIµÄÐèÇóÔ½À´Ô½¸ß£¬¶øÕâÒ»ÇоùÒªÇóÓÐÒ»¸öÇáÐÍ¡¢Õ¼ÓÃ×ÊÔ´ÉÙ¡¢¸ßÐÔÄÜ¡¢¸ß¿É¿¿¡¢¿ÉÅäÖü°ÃÀ¹ÛµÄGUIÖ§³Ö¡£½ÓÏÂÀ´ÎÒÃǾÍÒ»ÆðÀ´¿´¿´£º
1 JavaµÄͼÐνçÃ湤¾ß
Java¼¼Êõ¶ÔÓÚ·þÎñÆ÷£¬¸öÈ˵çÄÔºÍǶÈëʽϵͳÀ´ËµÊÇÒ»Ïîΰ´óµÄ¼¼Êõ¡£ÓÉÓÚÆä¾ßÓпçƽ̨µÈÌØÐÔ¡£JavaÔÚ·þÎñÆ÷ºÍ×ÀÃæµçÄÔ·½ÃæµÄÓ¦ÓÃÊǷdz£³É¹¦µÄ¡£È»¶øÔÚGUI·½Ã棬JavaÖ»Ó÷dz£ÓÐÏÞµÄһЩÌØÕ÷È¥¹¹½¨Í¼ÐÎÓû§½çÃæ¡£Æä˼Ïë¾ÍÊDzÉÓÃƽ̨Î޹صÄJavaÓ¦ÓóÌÐò½Ó¿Ú´ò°üµ½²»Í¬µÄ²Ù×÷ϵͳÀ´¿ª·¢±¾µØͼÐÎÓû§½çÃ棬±»³Æ֮Ϊ³éÏóµÄ´°¿Ú¹¤¾ß(AWT)¡£½öÓÐÆÕͨµÄ²¿¼þÈçÎļþÓò¡¢Îı¾Çø¡¢Ñ¡Ôñ¿ò¡¢µ¥Ñ¡°´Å¥¡¢Áбí¿òºÍ°´Å¥±»AWTÖ§³Ö£¬Í¼ÐκÍͼÏñµÄÌØÐÔÖ§³Ö·Ç³£ÓÐÏÞ£¬Ò²¾ÍÊÇ˵£¬Ö»×ã¹»¹¹½¨¼òµ¥µÄapplet³ÌÐò¡£ÈÏʶµ½ÐèÒª¸ü¸ß¼¶µÄͼÐÎÓû§½çÃæ×é¼þºÍͼÐÎÄÜÁ¦£¬Sun¹«Ë¾¿ª·¢ÁËSwing£¬Java 2D£¬Java3D£¬Í¼ÏñµÄÊäÈë/Êä³ö£¬ÒÔ¼°Java¸ß¼¶Í¼Ïñ(JAI)¡£SwingÊÇÓÃÀ´¹¹½¨JavaͼÐνçÃæµÄ±ê×¼API(Ó¦ÓóÌÐò½Ó¿Ú)£¬Ò»Ð©AWTÀàÓÉSwing»ù´¡¶øÀ´¡£ËüÓÐÒ»Ì×ÍêÈ«µÄ×é¼þ´Ó°´Å¥µ½ÎļþÓò¡¢±í¸ñ¡¢Ê÷ÐͺÍÎļþ±à¼Æ÷¡£ÕâЩ×é¼þ²»ÒÀÀµÓÚ²Ù×÷ϵͳ±¾µØµÄ²¿¼þ£¬¶øÊÇÓÃÔʼµÄͼÐÎÏñÖ±Ïß¡¢¾ØÐΡ¢ÎÄ×Ö»³ö¡£ÕâÖÖ»´ú±í¸Ð¹Û²å¼þ£¬ËüÄܹ»Ä£·Â±¾µØµÄ¸Ð¹Û¡£SWTÊÇ»ùÓÚJava¿ª·¢µÄ£¬ËüµÄÉè¼ÆÀíÄîÊÇ×î´ó»¯Á˲Ù×÷ϵͳµÄͼÐι¹¼þµÄAPI£¬¾ÍÊÇ˵ֻҪ²Ù×÷ϵͳÌṩÁËÏàӦͼÐεĹ¹¼þ£¬ÄÇôSWTÖ»ÊǼòµ¥Ó¦ÓÃJNI¼¼Êõµ÷ÓÃËüÃÇ£¬Ö»ÓÐÄÇЩ²Ù×÷ϵͳÖв»ÌṩµÄ¹¹¼þ£¬SWT²Å×Ô¼ºÈ¥×öÒ»¸öÄ£ÄâµÄʵÏÖ¡£ÁíÍâSWT»¹Ìṩ¶Ô²Ù×÷ϵͳ±¾µØͼÐÎÓû§½çÃæµÄÖ±½Ó·ÃÎÊ£¬Òò´Ë£¬»ùÓÚSWTµÄJavaÓ¦ÓóÌÐòÓµÓб¾µØµÄͼÐÎÓû§½çÃæ²¢ÇÒ¿ÉÒԺͱ¾µØ±ðµÄÓ¦ÓóÌÐòºÍ²¿¼þ¼¯³ÉÔÚÒ»Æð¡£Ê¹ÓÃSWT¿ª·¢°ü£¬¼òµ¥¡¢¿çƽ̨¡¢¿É¿¿µÈÕâЩJayaÓïÑÔ±¾ÉíËù¾ßÓеÄÓŵãÕý½¥½¥Èںϵ½Í¼ÐνçÃæµÄÓ¦ÓóÌÐò¿ª·¢ÖÐÈ¥¡£JavaÓïÑÔµÄÁíÒ»Éȳɹ¦Ö®ÃÅÕýÔÚÖð½¥´ò¿ª¡£
2 SWT+GtkFBͼÐÎϵͳµÄÌåϵ½á¹¹
2.1 SWT+GtkFBͼÐÎϵͳµÄÌåϵ½á¹¹
2.1.1 SWT
SWT´¦ÓÚÌåϵ»ú¹¹µÄ×îÉϲ㣬ËüÓëJavaÄÚµÄAwTºÍSwingͬÊôÓÚÉè¼ÆͼÐνçÃæËùÐèµÄ¸ß¼¶º¯Êý¿â¡£¶øÇÒSWTÕë¶ÔAWT ÒÔ¼°SwingµÄһЩÎÊÌâ×÷Á˸ÄÉÆ£¬Èç½ñËüÒÑ·¢Õ¹³ÉÒ»Ì×Óë×÷ҵϵͳÎ޹صÄͼÐÎÔª¼þº¯Êý¿â¡£ÔÚÔª¼þµÄ²úÉú·½Ãæ²ÉÓÃÁËÊʵ±µÄÄ£Ä⣬ÔÚ»ù±¾µÄÔª¼þ·½ÃæÊDzÉÓÃÔÓÐ×÷ҵϵͳµÄ£¬¶ÔÓڽϸ´ÔÓµÄÔª¼þ²ÅÓ÷ÂÕæµÄ¼¼Êõ¡£»ùÓÚSWTµÄJavaÓ¦ÓóÌÐòÓµÓб¾µØµÄͼÐÎÓû§½çÃ棬²¢ÇÒ¿ÉÒԺͱ¾µØ±ðµÄÓ¦ÓóÌÐò£¬ÒÔ¼°²¿¼þ¼¯³ÉÔÚÒ»Æð¡£
SWTÊÇ»ùÓÚJavaÓïÑÔ¿ª·¢³öÀ´µÄ¸ß¼¶Í¼ÐÎÔª¼þ¿â£¬Èçͼ2ËùʾSWTÔÚJava¶Ëͨ¹ýJNI(Java Native InteRFace)¼¼ÊõÖ±½Óµ÷ÓÃnative¶ËµÄGtkFBÀ´Ê¹ÓòÙ×÷ϵͳµÄ×ÊÔ´£¬JNI¼¼ÊõʹµÃSWT³ÌÐò¿ÉÒÔÓëÆäËûÓïÑÔ±àдµÄNative¶ËµÄ´úÂ뻥ÏàÐ×÷£¬½«ËüÃÇÕûºÏÔÚÒ»Æð;ÁíÒ»·½Ãæ¿ÉʹÔËÐÐÔÚJVM(JAavaÐéÄâ»ú)ÖеÄSWT´úÂëµ÷ÓÃGtkFB¿âº¯Êý»òÆäËû³ÌÐò;´ËÍâÀûÓÃInvocatiON API£¬¿É½«JavaÐéÄâ»úǶÈëµ½native¶ËµÄÓ¦ÓÃÖС£JNIÕâ¸ö½Ó¿ÚÊÇË«ÏòµÄ£¬Ï൱ÓÚÇÅÁººÍŦ´ø£¬Ëü½«SWT´úÂëºÍnative¶ËµÄGtkFB´úÂëÁ¬½ÓÆðÀ´¡£
2.1.2 Gtk¿â
Èçͼ1Ëùʾ£¬GTK»áÓõ½¼¸¸öÁ¬½Ó¿â£¬Èç»ù±¾Êý¾ÝÀàÐÍÓõÄGlib¿â£¬ËüÊÇÓÉ»ù´¡Àà¡¢ºËÐÄÓ¦ÓÃÖ§³ÖÀࡢʵÓù¦ÄÜÀà¡¢Êý¾ÝÀàºÍ¶ÔÏóϵͳÀàÎå¸ö²¿·Ö×é³ÉµÄ¡£
PangoÊÇÓÃÓÚ¹ú¼Ê»¯Îı¾µÄ²¼¾ÖºÍÏÔʾµÄÈ«¹¦ÄÜ¿ò¼Ü¡£Pango¿ÉÒÔ´¦ÀíÒÔ·Ç´Ó×óµ½ÓÒ·½ÏòÅÅÁеÄÎı¾£¬²¢ÇÒ¿ÉÒÔÈÝÒ׵عÜÀí¸´ÔÓÓïÑÔ£¬ÉõÖÁ»¹¿ÉÒÔ´¦Àí¸ù¾ÝʹÓû·¾³¶ø²ÉÓò»Í¬ÐÎʽµÄÐź¯¡£ÀýÈçËüÖ§³ÖË«ÏòÎı¾£¬Óû§¿ÉÒÔ½«´Ó×óµ½ÓÒµÄÎı¾ºÍ´ÓÓÒµ½×óµÄÎı¾»ìºÏ±àÅÅ;»¹¿ÉÓÐÓÃÓÚÈ·¶¨¸÷ÖÖ¸´ÔÓÎı¾(Èç°¢À²®ÓïºÍÌ©Ã׶ûÓï)ÐÎ×´µÄ²å¼þ¡£Pango²»½ö½öÊǹú¼Ê»¯£¬¶øÇÒPango¿âÔÚXftºÍXRenderµÄÖ§³ÖÏÂÄܺܺõش¦Àí¿¹¾â³Ý×ÖÌåÎı¾µÄÏÔʾ¡£
Pango»¹Ö§³Ö¸÷ÖÖͼÐθñʽÈçlibpng£¬libjpeg£¬libtiffºÍFramebuffer portÓõÄFreeTypeµÈ¡£Êµ¼ÊÉÏGTKÌṩgdk-pixbuf£¬gdkºÍgtkÈý¸öÁ¬½Ó¿â£¬ÆäÖÐGdk-pixbufÈÃÎÒÃÇ¿É×öÏà¹ØµÄͼÏñ¹¤×÷£¬gdkÊÇ´°¿Ú»æͼϵͳµÄ³éÏó²ã£¬framebufferÏà¹ØµÄ¹¤×÷´ó²¿·ÖÔÚ´ËÍê³É£¬¶øgtkÔòÊǸ߲ãµÄÓ¦ÓóÌÐò½Ó¿Ú¡£
Atk(Accessibility Toolkit)¿É·ÃÎÊÐÔ¹¤¾ßÏä¡£GTK³ä·ÖÀûÓÃATKʹ²ÐÕÏÈËÊ¿(ÈçÊÓÁ¦µÍÏ»òÐж¯²»±ã)ÓëGTKÓ¦ÓóÌÐò½»»¥³ÉΪ¿ÉÄÜ¡£
2.1.3 GtkFBµÄ¹¤×÷ÔÀí
DirectFB·ÃÎÊͼÐÎÓ²¼þÉ豸ÒÀÀµÓÚ²Ù×÷ϵͳÌṩµÄÄں˽ӿڣ¬¼´Ö¡»º³åÉ豸(FrameBuffer)¡£FrameBufferʵ¼ÊÉÏÊÇÓÃÒ»¿éÓ²¼þÀ´×öÏÔ¿¨ºÍÈí¼þÖ®¼äµÄÇÅÁº£¬LinuxµÄÄں˽«Æ俪·Å³öÀ´£¬Ê¹Óû§µÄ³ÌÐò¿ÉÒÔͨ¹ý¿éÄÚ´æÀ´´æÈ¡ÏÔ¿¨¡£ÀýÈçÉ趨ÏÔʾ·Ö±æÂʺÍÉ«²ÊÊý¡¢´æÈ¡ÏÔʾÄÚ´æÇøµÈ¡£²»Í¬µÄLinuxÐèÒªÌṩÕë¶Ô²»Í¬ÏÔʾӲ¼þFrameBufferµÄÇý¶¯³ÌÐò£¬Õâ¾ÍÊÇ˵DirectFBÐèÒªÔËÐÐÓÚFramBufferÖ®ÉÏ£¬È»¶øLinuxÄÚºËÌṩÁ˳£¼ûоƬµÄFrameBufferÇý¶¯¡£
µ±Ò»¸öÓ¦ÓóÌÐòÁ¬½Óµ½GtkFBʱ»áµ÷ÓÃgtk_init()£¬Èçͼ3Ëùʾ£¬´ËʱGtkFB Æô¶¯LinuxµÄFramebiffer£¬É趨·Ö±æÂʺÍÉ«²ÊÊý£¬½ÓÏÂÀ´´ò¿ª¼üÅ̺ÍÊó±êµÈÍâÉè(PDA´ò¿ª°´¼üºÍ´¥¿ØÆÁÄ»).È»ºóµ½Ìض¨Ä¿Â¼È¥¶ÁÈ¡×ÖÐÍ£¬×îºó¶Ô´°¿ÚºÍʼþ¹ÜÀí×÷³õʼ»¯²Ù×÷¡£GtkFB¿ÉÒÔÖ§³Ö8¡¢16¡¢24¡¢32bppµÄframebuffer¡£
ΪÁËÖ´ÐÐÒ»¸öÌض¨µÄͼÐβÙ×÷£¬DirectFBоƬÇý¶¯³ÌÐò½«·ÃÎÊͼÐÎÉ豸ÄÚ´æÓ³ÉäµÄI/O¶Ë¿Ú£¬²¢ÇÒ°ÑÃüÁî´«µÝµ½Í¼ÐÎÉ豸¿¨µÄ¼ÓËÙÒýÇ档ʵ¼ÊµÄÓ²¼þ¼ÓËÙÊÇÍêÈ«ÔÚÓû§¿Õ¼äÄÚÍê³ÉµÄ¡£
2.2 SWT+GtkFBͼÐÎϵͳµÄÓŵã
2.2.1 ÄÚ´æÏûºÄС¡¢ÔËÐÐËٶȿìÌرðÊʺÏǶÈëʽ²úÆ·
ÓÉÓÚGtkFBÖ±½ÓÔËÐÐÔÚFrameBuferÖ®ÉÏ£¬Ìø¹ýXϵͳ£¬ÕâÑùÊ¡ÏÂÁËX ServerÕâÒ»²¿·Ö×ÊÔ´£¬ÕâʹµÃÔÚÄÚ´æÏûºÄ¡¢ÔËÐÐËÙ¶ÈÉϵõ½ÏÔÖøÌá¸ß¡£ÁíÍâ²ÉÓõÄJNI¼¼ÊõʹµÃ³ÌÐòÔËÐÐËٶȡ¢Ê¼þµÄÏìÓ¦ÓнϸߵÄÌá¸ß£¬ÄÜÂú×ãʱ¼äÒªÇó½ÏΪÑϸñµÄʵʱӦÓó¡ºÏ¡£
2.2.2 ϵͳÎȶ¨ÐÔºÃ
SWT µÄÎȶ¨ÐÔ£¬¹Ø¼üÊÇÔ´ÓÚSWT µÄÉè¼ÆÀíÄî¡£SWT×î´ó»¯Á˲Ù×÷ϵͳµÄͼÐι¹¼þAPI£¬¾ÍÊÇ˵ֻҪ²Ù×÷ϵͳÌṩÁËÏàӦͼÐεĹ¹¼þ£¬ÄÇôSWTÖ»ÊÇÓ¦ÓÃJNI¼¼Êõµ÷ÓÃËüÃÇ£¬Ö»ÓÐÄÇЩ²Ù×÷ϵͳÖв»ÌṩµÄ¹¹¼þ£¬SWT²Å×Ô¼ºÈ¥×öÒ»¸öÄ£ÄâµÄʵÏÖ¡£¿ÉÒÔ¿´³öSWTÐÔÄÜÉϵÄÎȶ¨ºÜ´ó³Ì¶ÈÉÏÈ¡¾öÓÚÏàÓ¦²Ù×÷ϵͳͼÐι¹¼þµÄÎȶ¨ÐÔ¡£
2.2.3 Ò×ÓÚÒÆÖ²ºÍ¹²Ïí
SWTµÄAPIºÍ×ÀÃæ°æÍêÈ«Ïàͬ£¬Òò¶ø´úÂë¿ÉÒÔºÜÈÝÒ×µØÔÚ×ÀÃæºÍǶÈëʽÉ豸֮¼äÒÆÖ²Óë¹²Ïí¡£
2.2.4 СÇÉ¿ÉÅäÖÃ
SWT²ÉÓÃÁËLGPLÊÚȨ·½Ê½£¬Óû§¿ÉÒÔ×ÔÓɵØÉõÖÁÊǹÄÀøÐÞ¸ÄÔ´´úÂëʹÆä¸ü¼ÓÂú×ãÓû§µÄÐèÇ󣬺ÜÈÝÒ׸ù¾ÝÓû§µÄÐèÇóÀ´²Ã¼õÌض¨µÄSWT+GtkFB£¬ÒÀ¾ÝLGPLÐí¿ÉÖ¤£¬Óû§ÐèÒª¹«²¼Ð޸ĵÄÔ´´úÂ룬µ«Óû§²»±Ø¹«²¼×Ô¸øÓ¦ÓóÌÐòµÄÔ´´úÂë¡£
2.2.5 Ò×ÓÚ¿ª·¢
SWTÊÇ»ùÓÚJavaÓïÑÔ¿ª·¢µÄ£¬¾ßÓÐƽ̨¶ÀÁ¢ÐÔ¡¢ÃæÏò¶ÔÏ󡢿ÉÒÆÖ²¡¢°²È«µÈJavaÓïÑÔËùÓµÓÐÌص㡣Óû§¿ÉÒÔºÜÈÝÒ׵ĻùÓÚSWTÌṩµÄWidget(¹¹¼þ)¿ª·¢³öÂú×ã×Ô¼ºÐèÒªµÄWidget£¬¶øÇÒºÜÈÝÒ×µØʹÓÃÕâЩWidgetÈ¥¹¹½¨Ó¦ÓóÌÐò¡£
3 SWT+GtkFBͼÐÎϵͳµÄʵÏÖ
3.1 Ç°ÆÚ×¼±¸
ÔÚLinux±àÒëºÍ°²×°SWT+GtkFB£¬Ê×ÏÈÏÂÔØÈçϵİü£ºpkg-config¡¢glib2.x;atk¡¢pango¡¢DirectFB¡¢gtk+2.x¡£Æä´ÎÏÂÔØswt.tgr.gz¡£
ÏÂÒ»²½¾ÍÊÇÔÚ/home/XXX/Ŀ¼Ï´´½¨SWT ºÍGTKÁ½¸öĿ¼²¢ÇÒÉèÖû·¾³±äÁ¿¡£ÈçÏ£º
export SWT_HOME=/home/XXX/SWTexport SWT_HOME=/home/XXX/GTKexport PKG_CONFIG_PATH=$GTK_HOME /lib/pkgconfigexport LD_LIBRARY_PATH=$GTK_HOME/lib;$LD_LIBRARY_PATH´ËÍâÔö¼Ó¡°/home/XXX/GTK/bin¡±µ½ÏµÍ³µÄ»·¾³±äÁ¿PATHÏ¡£
3.2 ±àÒëºÍ°²×°Gtk+2.0
3.2.1 ±àÒëºÍ°²×°pkg-config
tar zxvf glib-2.0.6.tar.gz -C $GTK_HOME/src
cd $GTK HOME/src/glib-2.0.6
¡£/configure --prefix=$GTK_HOME
make
make inSTall
3.2.2 ±àÒëºÍ°²×°atk
tar zxvf atk-1.0.1.tar.gz -C $GTK_HOME/src
cd $GTK_HOME/src/atk-1.0.1
¡£/configure --prefix=$GTK_HOME
make
make install
3.2.3 ±àÒëºÍ°²×°pango¡¢Direct FB¡¢gtk+2.0 ¡¢swt-forgtk2.2
²½ÖèÀàËÆatkµÄ°²×°¡£
4 ǶÈëʽLinux GUIµÄÓ¦ÓÃÇ°¾°Õ¹Íû
ǶÈëʽLinux GUIµÄÓ¦ÓÃÁìÓòºÜ¶à£¬¼È¿ÉÒÔÓÃÓÚ¼ÒµçÊг¡£¬»¹¿ÉÒÔÓÃÓÚÉÌÒµÊг¡¡¢¹¤Òµ¼°×Ô¶¯»¯Êг¡¡¢¹ú·ÀÊг¡¡¢Í¨Ñ¶Êг¡µÈ¡£ÀýÈ磬ÔÚͨѶÊг¡£¬ÊÖ»ú¡¢¿ÉÊӵ绰¡¢»ú¶¥ºÐµÈ¿ÉÄܳÉΪǶÈëʽLinu.xµÄÔËÐÐƽ̨£¬Ò»¸öÈËÐÔ»¯µÄÓû§½çÃæÊÇÓ®µÃÏû·ÑÕ߹ؼüÒòËØ¡£Òò´ËǶÈëʽLinuxͼÐÎϵͳ½«µ£ÈÎןü¼ÓÖØÒªµÄ½ÇÉ«¡£Èç¹ûÄã´ËʱÒѾѧϰÁËǶÈëʽ£¬½«»áÊǷdz£ÐÒÔ˵ÄÒ»¼þÊÂÇé¡£µ«ÊÇÄãÏëѧȷÕÒ²»µ½·½ÏòûÓÐ×ÊÔ´µÄʱºò£¬ÄãÒ²¿ÉÒÔ˽ÎÒ¡£ÏàÐÅÎÒÒ²¿ÉÒÔ¸øÄãÌṩ²»ÉٵİïÖú.
δÀ´¼¸Ä꣬ǶÈëʽLinux GUI½«³¯ÒÔÏ·½Ïò·¢Õ¹£ºµÚÒ»£¬ÇáÐÍ¡¢Õ¼ÓÃ×ÊÔ´ÉÙ£¬²»Ï£Íû½¨Á¢ÔÚÅÓ´óÀÛ׸µÄ¡¢·Ç³£ÏûºÄϵͳ×ÊÔ´µÄ²Ù×÷ϵͳºÍGUIÖ®ÉÏ¡£µÚ¶þ£¬¸ßÐÔÄÜ¡¢¸ß¿É¿¿ÐÔ£¬ÌرðÊǹ¤ÒµÊµÊ±¿ØÖÆϵͳ£¬¶ÔʵʱÐÔµÄÒªÇó·Ç³£¸ß£¬²¢ÇÒ±ÈÆðǶÈëʽϵͳÀ´Ëµ£¬¶ÔGUIµÄÒªÇóÒ²¸ü¸ß¡£µÚÈý£¬¿ÉÅäÖã¬ÎÒÃDZØÐëÇå³þµÄÒâʶµ½£¬Ç¶ÈëʽϵͳÊÇÒ»ÖÖ¶¨ÖÆÉ豸£¬ËüÃǶÔGUIµÄÐèÇó¸÷²»Ïàͬ£¬ÓеÄϵͳֻҪÇóһЩͼÐι¦ÄÜ£¬¶øÓÐЩϵͳҪÇóÍ걸µÄGUIÖ§³Ö£¬Òò´Ë£¬GUIÒ²±ØÐëÊǿɶ¨ÖƵġ£