JAVA½Ì³Ì SwingÓû§½çÃæÉè¼ÆÈëÃÅ
7£®1 Swing¼ò½é
7.1.1 ¼ò½é
¡¡¡¡µÚÎå½²ÖÐÎÒÃÇѧϰÁËAWT£¬AWTÊÇSwingµÄ»ù´¡¡£SwingµÄ²úÉúÖ÷ÒªÔÒò¾ÍÊÇAWT²»ÄÜÂú×ãͼÐλ¯Óû§½çÃæ·¢Õ¹µÄÐèÒª¡£
AWTÉè¼ÆµÄ³õÖÔÊÇÖ§³Ö¿ª·¢Ð¡Ó¦ÓóÌÐòµÄ¼òµ¥Óû§½çÃæ¡£ÀýÈçAWTȱÉÙ¼ôÌù°å¡¢´òÓ¡Ö§³Ö¡¢¼üÅ̵¼º½µÈÌØÐÔ£¬¶øÇÒÔÀ´µÄAWTÉõÖÁ²»°üÀ¨µ¯³öʽ²Ëµ¥»ò¹ö¶¯´°¸ñµÈ»ù±¾ÔªËØ¡£
¡¡¡¡´ËÍâAWT»¹´æÔÚ×ÅÑÏÖØµÄȱÏÝ£¬ÈËÃÇʹAWTÊÊÓ¦»ùÓڼ̳еġ¢¾ßÓкܴóÉìËõÐÔµÄʼþÄ£ÐÍ£¬»ùÓÚͬλÌåµÄÌåϵ½á¹¹Ò²³ÉΪÆäÖÂÃüµÄÈõµã¡£
¡¡¡¡Ëæ×Å·¢Õ¹µÄÐèÒª£¬Swing³öÏÖÁË£¬Swing×é¼þ¼¸ºõ¶¼ÊÇÇáÁ¿×é¼þ£¬ÓëÖØÁ¿×é¼þÏà±È£¬Ã»Óб¾µØµÄ¶ÔµÈ×é¼þ£¬²»ÏñÖØÁ¿×é¼þÒªÔÚËüÃÇ×Ô¼ºµÄ±¾µØ²»Í¸Ã÷´°ÌåÖлæÖÆ£¬ÇáÁ¿×é¼þÔÚËüÃǵÄÖØÁ¿×é¼þµÄ´°¿ÚÖлæÖÆ¡£
¡¡¡¡ÕâÒ»½²ÎÒÃǽ²Ò»Ï»ù±¾µÄSwing×é¼þʹÓ÷½·¨ºÍʹÓÃSwing×é¼þ´´½¨Óû§½çÃæµÄ³õ²½·½·¨¡£
¡¡¡¡SwingÊÇÓÉ100%´¿JavaʵÏֵģ¬Swing×é¼þÊÇÓÃJavaʵÏÖµÄÇáÁ¿¼¶£¨ light-weight£©×é¼þ£¬Ã»Óб¾µØ´úÂ룬²»ÒÀÀµ²Ù×÷ϵͳµÄÖ§³Ö£¬ÕâÊÇËüÓëAWT×é¼þµÄ×î´óÇø±ð¡£ÓÉÓÚAWT×é¼þͨ¹ýÓë¾ßÌåÆ½Ì¨Ïà¹ØµÄ¶ÔµÈÀࣨPeer£©ÊµÏÖ£¬Òò´ËSwing±ÈAWT×é¼þ¾ßÓиüÇ¿µÄʵÓÃÐÔ¡£SwingÔÚ²»Í¬µÄƽ̨ÉϱíÏÖÒ»Ö£¬²¢ÇÒÓÐÄÜÁ¦Ìṩ±¾µØ´°¿Úϵͳ²»Ö§³ÖµÄÆäËüÌØÐÔ¡£
¡¡¡¡Swing²ÉÓÃÁËÒ»ÖÖMVCµÄÉè¼Æ·¶Ê½£¬¼´"Ä£ÐÍ-ÊÓͼ-¿ØÖÆ"£¨Model-View-Controller£©£¬ÆäÖÐÄ£ÐÍÓÃÀ´±£´æÄÚÈÝ£¬ÊÓͼÓÃÀ´ÏÔʾÄÚÈÝ£¬¿ØÖÆÆ÷ÓÃÀ´¿ØÖÆÓû§ÊäÈë¡£
¡¡¡¡SwingÍâ¹Û¸Ð¾õ²ÉÓÿɲåÈëµÄÍâ¹Û¸Ð¾õ£¨Pluggable Look and Feel£¬PL&F£©
¡¡¡¡ÔÚAWT×é¼þÖУ¬ÓÉÓÚ¿ØÖÆ×é¼þÍâ¹ÛµÄ¶ÔµÈÀàÓë¾ßÌåÆ½Ì¨Ïà¹Ø£¬Ê¹µÃAWT×é¼þ×ÜÊÇÖ»ÓÐÓë±¾»úÏà¹ØµÄÍâ¹Û¡£SwingʹµÃ³ÌÐòÔÚÒ»¸öƽ̨ÉÏÔËÐÐʱÄܹ»Óв»Í¬µÄÍâ¹Û¡£Óû§¿ÉÒÔÑ¡Ôñ×Ô¼ºÏ°¹ßµÄÍâ¹Û¡£ÒÔÏÂÈý·ùͼÊÇÔÚͬһ¸ö²Ù×÷ϵͳϵõ½²»Í¬µÄÍâ¹Û¡£
Metal·ç¸ñ
Motif·ç¸ñ
Windows·ç¸ñ
7.1.2 SwingµÄÀà²ã´Î½á¹¹
¡¡¡¡ÔÚjavax.swing°üÖУ¬¶¨ÒåÁËÁ½ÖÖÀàÐ͵Ä×é¼þ£º¶¥²ãÈÝÆ÷£¨JFrame£¬JApplet£¬JDialogºÍJWindow£©ºÍÇáÁ¿¼¶×é¼þ¡£Swing×é¼þ¶¼ÊÇAWTµÄContainerÀàµÄÖ±½Ó×ÓÀàºÍ¼ä½Ó×ÓÀà¡£
7.1.4 MVC(Model-View-Control)Ìåϵ½á¹¹
¡¡¡¡Swingʤ¹ýAWTµÄÖ÷ÒªÓÅÊÆÔÚÓÚMVCÌåϵ½á¹¹µÄÆÕ±éʹÓá£ÔÚÒ»¸öMVCÓû§½çÃæÖУ¬´æÈý¸öͨѶ¶ÔÏó£ºÄ£ÐÍ¡¢ÊÓͼºÍ¿Ø¼þ¡£Ä£ÐÍÊÇÖ¸¶¨µÄÂß¼±íʾ·¨£¬ÊÓͼÊÇÄ£Ð͵ĿÉÊÓ»¯±íʾ·¨£¬¶ø¿Ø¼þÔòÖ¸¶¨ÁËÈçºÎ´¦ÀíÓû§ÊäÈë¡£µ±Ä£ÐÍ·¢Éú¸Ä±äʱ£¬Ëü»á֪ͨËùÓÐÒÀÀµËüµÄÊÓͼ£¬ÊÓͼʹÓÿؼþÖ¸¶¨ÆäÏàÓ¦»úÖÆ¡£
7.2.3.5 ·Ö¸ô°å£¨JSplitPa
Ïà¹ØÎĵµ£º
<!--
/* Font Definitions */
@font-face
{font-family:ËÎÌå;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:Verdana;
panose ......
È«ÆÁ¶Àռģʽ
¾³£Ê¹ÓÃDirectX APIµÄ³ÌÐòÔ±¿ÉÄܶÔÈ«ÆÁ¶ÀռģʽÒѾºÜÊìϤÁË ¡£ËüÔÊÐí³ÌÐòԱͨ¹ýÐü¹Ò²Ù×÷ϵͳÀ´Ö±½ÓÔÚÆÁÄ»ÉϽøÐлæÖÆ¡£ÔÚ´«Í³µÄJava GUI ³ÌÐòÖУ¬ AWT ͨ¹ýʼþ·ÖÅÉÏ̺߳ÍÔÚÊʵ±µÄʱºòµ÷ÓÃ×é¼þµÄpaint()·½·¨À´´«ËÍÀ´×Ô²Ù×÷ϵͳµÄpaintʼþ¡£ÔÚÈ«ÆÁ¶ÀռģʽӦÓÃÖÐÄã¿ÉÒÔͨ¹ý³ÌÐò½øÐлæÖÆ¡£ ÁíÍâ ......
public class Calendar {
/**
* Ö±½ÓµÄ¿ÉÒԲ鿴Ч¹û
* @param args
*/
public static void main(String[] args) {
int year=input.nextInt();//Äê
int month=input.nextInt();//ÔÂ
int yearday=0;//Äê×ÜÌìÊý
//¼ ......
ËäÈ»ºÜÉÙÓõ½Í¬²½£¬³öÓÚ¸öÈËÐËȤ×ÔѧÁËһϡ£ÏÖ¶ÔJAVAÖеÄͬ²½ÊÕ¼¯Ñ§Ï°µÄ¶«Î÷×ܽáһϣ¬ÈÃ×Ô¼º¼¼ÊõµÄÌõÀí»¯£¬Äܹ»³ÁµíÏÂÀ´¡£
ͬ²½¾ÍÊÇ´®ÐÐʹÓÃһЩ×ÊÔ´.
JAVAÖÐsynchronized¹Ø¼ü×ÖÄܹ»×÷Ϊº¯ÊýµÄÐÞÊηû£¬Ò²¿É×÷Ϊº¯ÊýÄÚµÄÓï¾ä£¬Ò²¾ÍÊÇÆ½Ê±ËµµÄͬ²½·½·¨ºÍͬ²½Óï¾ä¿é¡£¼ÙÈçÔÙϸµÄ·ÖÀ࣬synchronized¿É×÷ÓÃÓÚinstance ......
ÃæÊÔʱºò¾³£»áÅöµ½µÄÒ»¸öÎÊÌ⣬¸øÄãÁ½¸ö¼Ì³Ð¹ØÏµµÄjavaÀàµÄ´úÂ룬ÕâÁ½¸öÀàÖÐÓй¹Ôì·½·¨ºÍһЩ±äÁ¿£¬È»ºó»¹ÓÐһЩ·½·¨£¬·½·¨Àïͨ³£Óн«±äÁ¿Êä³öµÄÓï¾ä¡£ÕâÀàÎÊÌâÖ÷Òª¿¼²ìÎÒÃǶԸ¸Àà×ÓÀà³õʼ»¯Ë³ÐòµÄÁ˽âÇé¿ö¡£
ÕâÀïÎÒÃÇÖ÷ÒªÌÖÂÛϾ²Ì¬³õʼ»¯¿éÕâÖÖÇé¿ö¡£
......