°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¡¡¡¡¡¡add£¨sb£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String¡¡args£§£§£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡Show¡£inFrame£¨new¡¡Progress£¨£©£»200£»150£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
JProgressBar¡¡Ê®·Ö¼òµ¥£¬µ«¡¡JSlider¡¡È´ÓÐÐí¶àÑ¡ÏÀýÈç·½·¨¡¢´ó»òСµÄ¼ÇºÅ±êÇ©¡£×¢ÒâÔö¼ÓÒ»¸ö´ø±êÌâµÄ¡¡
±ß¿òÊǶàôµÄÈÝÒס£¡¡¡¡
13¡£19¡£13¡¡Ê÷¡¡¡¡
ʹÓÃÒ»¸öJTree¡¡¿ÉÒÔ¼òµ¥µØÏñÏÂÃæÕâÑù±íʾ£º¡¡¡¡
add£¨new¡¡JTree£¨¡¡¡¡
new¡¡Object£§£§¡¡£û¡¨this¡¨£»¡¡¡¨that¡¨£»¡¡¡¨other¡¨£ý£©£©£»¡¡¡¡
Õâ¸ö³ÌÐòÏÔʾÁËÒ»¸öÔʼµÄÊ÷×´Îï¡£Ê÷×´ÎïµÄ¡¡API¡¡ÊǷdz£¾Þ´óµÄ£¬¿ÉÊÇ¡ª¡ªµ±È»ÊÇÔÚSwing¡¡Öеľ޴ó¡£Ëü±í¡¡
Ã÷ÎÒÃÇ¿ÉÒÔ×öÓйØÊ÷×´ÎïµÄÈκÎÊ£¬µ«¸ü¸´ÔÓµÄÈÎÎñ¿ÉÄÜÐèÒª²»ÉÙµÄÑо¿ºÍÊÔÑé¡£ÐÒÔ˵ÄÊÇ£¬ÔÚ¿âÖÐÌṩÁË¡¡
Ò»¸öÍ×Уº¡°Ä¬Èϵġ±Ê÷×´Îï×é¼þ£¬Í¨³£ÄÇÊÇÎÒÃÇËùÐèÒªµÄ¡£Òò´Ë´ó¶àÊýµÄʱ¼äÎÒÃÇ¿ÉÒÔÀûÓÃÕâЩ×é¼þ£¬²¢¡¡
ÇÒÖ»ÔÚÌØÊâµÄÇé¿öÏÂÎÒÃÇÐèÒª¸üÉîÈëµÄÑо¿ºÍÀí½â¡£¡¡¡¡
ÏÂÃæµÄÀý×ÓʹÓÃÁË¡°Ä¬ÈÏ¡±µÄÊ÷×´Îï×é¼þÔÚÒ»¸ö³ÌÐòƬÖÐÏÔʾһ¸öÊ÷×´Îï¡£µ±ÎÒÃÇ°´Ï°´Å¥Ê±£¬Ò»¸öеÄ×Ó¡¡
Ê÷¾Í±»Ôö¼Óµ½µ±Ç°Ñ¡ÖеĽáµãÏ£¨Èç¹ûûÓнáµã±»Ñ¡ÖУ¬¾ÍÓøù½á½Ú£©£º¡¡¡¡
¡¡¡¡
//£º¡¡Trees¡£java¡¡¡¡
//¡¡Simple¡¡Swing¡¡tree¡¡example¡£¡¡Trees¡¡can¡¡be¡¡made¡¡¡¡
//¡¡vastly¡¡more¡¡plex¡¡than¡¡this¡£¡¡¡¡
package¡¡c13¡£swing£»¡¡¡¡
import¡¡java¡£awt¡£*£»¡¡¡¡
import¡¡java¡£awt¡£event¡£*£»¡¡¡¡
import¡¡javax¡£swing¡£*£»¡¡¡¡
import¡¡javax¡£swing¡£tree¡£*£»¡¡¡¡
¡¡¡¡
//¡¡Takes¡¡an¡¡array¡¡of¡¡Strings¡¡and¡¡makes¡¡the¡¡first¡¡¡¡
//¡¡element¡¡a¡¡node¡¡and¡¡the¡¡rest¡¡leaves£º¡¡¡¡
class¡¡Branch¡¡£û¡¡¡¡
¡¡¡¡DefaultMutableTreeNode¡¡r£»¡¡¡¡
¡¡¡¡public¡¡Branch£¨String£§£§¡¡data£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡r¡¡=¡¡new¡¡DefaultMutableTreeNode£¨data£§0£§£©£»¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡1£»¡¡i¡¡¡¶¡¡data¡£length£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡r¡£add£¨new¡¡DefaultMutableTreeNode£¨data£§i£§£©£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡DefaultMutableTreeNode¡¡node£¨£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡r£»¡¡¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡¡¡¡¡¡¡
¡¡¡¡
public¡¡class¡¡Trees¡¡extends¡¡JPanel¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡480¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡482¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡String£§£§£§£§¡¡data¡¡=¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡£û¡¡¡¨Colors¡¨£»¡¡¡¨Red¡¨£»¡¡¡¨Blue¡¨£»¡¡¡¨Green¡¨¡¡£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡£û¡¡¡¨Flavors¡¨£»¡¡¡¨Tart¡¨£»¡¡¡¨Sweet¡¨£»¡¡¡¨Bland¡¨¡¡£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡£û¡¡¡¨Length¡¨£»¡¡¡¨Short¡¨£»¡¡¡¨Medium¡¨£»¡¡¡¨Long¡¨¡¡£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡£û¡¡¡¨Volume¡¨£»¡¡¡¨High¡¨£»¡¡¡¨Medium¡¨£»¡¡¡¨Low¡¨¡¡£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡£û¡¡¡¨Temperature¡¨£»¡¡¡¨High¡¨£»¡¡¡¨Medium¡¨£»¡¡¡¨Low¡¨¡¡£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡£û¡¡¡¨Intensity¡¨£»¡¡¡¨High¡¨£»¡¡¡¨Medium¡¨£»¡¡¡¨Low¡¨¡¡£ý£»¡¡¡¡
¡¡¡¡£ý£»¡¡¡¡
¡¡¡¡static¡¡int¡¡i¡¡=¡¡0£»¡¡¡¡
¡¡¡¡DefaultMutableTreeNode¡¡root£»¡¡child£»¡¡chosen£»¡¡¡¡
¡¡¡¡JTree¡¡tree£»¡¡¡¡
¡¡¡¡DefaultTreeModel¡¡model£»¡¡¡¡
¡¡¡¡public¡¡Trees£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡setLayout£¨new¡¡BorderLayout£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡root¡¡=¡¡new¡¡DefaultMutableTreeNode£¨¡¨root¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡tree¡¡=¡¡new¡¡JTree£¨root£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Add¡¡it¡¡and¡¡make¡¡it¡¡take¡¡care¡¡of¡¡scrolling£º¡¡¡¡
¡¡¡¡¡¡¡¡add£¨new¡¡JScrollPane£¨tree£©£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡BorderLayout¡£CENTER£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Capture¡¡the¡¡tree's¡¡model£º¡¡¡¡
¡¡¡¡¡¡¡¡model¡¡=£¨DefaultTreeModel£©tree¡£getModel£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡JButton¡¡test¡¡=¡¡new¡¡JButton£¨¡¨Press¡¡me¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡test¡£addActionListener£¨new¡¡ActionListener£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡public¡¡void¡¡actionPerformed£¨ActionEvent¡¡e£©£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if£¨i¡¡¡¶¡¡data¡£length£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡child¡¡=¡¡new¡¡Branch£¨data£§i£«£«£§£©¡£node£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡What's¡¡the¡¡last¡¡one¡¡you¡¡clicked£¿¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡chosen¡¡=¡¡£¨DefaultMutableTreeNode£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡tree¡£getLastSelectedPathponent£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if£¨chosen¡¡==¡¡null£©¡¡chosen¡¡=¡¡root£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡The¡¡model¡¡will¡¡create¡¡the¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡appropriate¡¡event¡£¡¡In¡¡response£»¡¡the¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡tree¡¡will¡¡update¡¡itself£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡model¡£insertNodeInto£¨child£»¡¡chosen£»¡¡0£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡This¡¡puts¡¡the¡¡new¡¡node¡¡on¡¡the¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡currently¡¡chosen¡¡node¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡£ý£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Change¡¡the¡¡button's¡¡colors£º¡¡¡¡
¡¡¡¡¡¡¡¡test¡£setBackground£¨Color¡£blue£©£»¡¡¡¡
¡¡¡¡¡¡¡¡test¡£setForeground£¨Color¡£white£©£»¡¡¡¡
¡¡¡¡¡¡¡¡JPanel¡¡p¡¡=¡¡new¡¡JPanel£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡p¡£add£¨test£©£»¡¡¡¡
¡¡¡¡¡¡¡¡add£¨p£»¡¡BorderLayout¡£SOUTH£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String¡¡args£§£§£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡Show¡£inFrame£¨new¡¡Trees£¨£©£»200£»500£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
×îÖØÒªµÄÀà¾ÍÊÇ·ÖÖ§£¬ËüÊÇÒ»¸ö¹¤¾ß£¬ÓÃÀ´»ñÈ¡Ò»¸ö×Ö·û´®Êý×鲢ΪµÚÒ»¸ö×Ö·û´®½¨Á¢Ò»¸ö¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡481¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡483¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
DefaultMutableTreeNode¡¡×÷Ϊ¸ù£¬ÆäÓàÔÚÊý×éÖеÄ×Ö·û´®×÷ΪҶ¡£È»ºó¡¡node£¨£©·½·¨±»µ÷ÓÃÒÔ²úÉú¡°·ÖÖ§¡±µÄ¡¡
¸ù¡£Ê÷×´ÎïÀà°üÀ¨Ò»¸öÀ´×Ô±»ÖÆÔìµÄ·ÖÖ§µÄ¶þά×Ö·û´®Êý×飬ÒÔ¼°ÓÃÀ´Í³¼ÆÊý×éµÄÒ»¸ö¾²Ì¬Öжϡ¡i¡£¡¡
DefaultMutableTreeNode¡¡¶ÔÏó¿ØÖÆÕâ¸ö½á½Ú£¬µ«ÔÚÆÁÄ»ÉϱíʾµÄÊDZ»JTree¡¡ºÍËüµÄÏà¹Ø¡¡
¡¡£¨DefaultTreeModel£©Ä£Ê½Ëù¿ØÖÆ¡£×¢Òâµ±JTree¡¡±»Ôö¼Óµ½³ÌÐòƬʱ£¬Ëü±»·â×°µ½JScrollPane¡¡ÖСª¡ªÕâ¾Í¡¡
ÊÇËüÈ«²¿ÌṩµÄ×Ô¶¯¹ö¶¯¡£¡¡¡¡
JTree¡¡Í¨¹ýËü×Ô¼ºµÄÄ£ÐÍÀ´¿ØÖÆ¡£µ±ÎÒÃÇÐÞ¸ÄÕâ¸öÄ£ÐÍʱ£¬Ä£ÐͲúÉúÒ»¸öʼþ£¬µ¼ÖÂJTree¡¡¶Ô¿ÉÒÔ¿´¼ûµÄÊ÷¡¡
×´ÎïÍê³ÉÈκαØÒªµÄÉý¼¶¡£ÔÚ¡¡init£¨£©ÖУ¬Ä£ÐÍÓɵ÷ÓÃgetModel£¨£©·½·¨Ëù²¶×½¡£µ±°´Å¥±»°´ÏÂʱ£¬Ò»¸öеķ֡¡
Ö§±»´´½¨ÁË¡£È»ºó£¬µ±Ç°Ñ¡ÔñµÄ×é¼þ±»ÕÒµ½£¨Èç¹ûûÓÐÑ¡Ôñ¾ÍÊǸù£©²¢ÇÒÄ£Ð͵ġ¡insertNodeInto£¨£©·½·¨×öËù¡¡
ÓеĸıäÊ÷×´ÎïºÍµ¼ÖÂËüÉý¼¶µÄ¹¤×÷¡£¡¡¡¡
´ó¶àÊýµÄʱºò£¬¾ÍÏñÉÏÃæµÄÀý×ÓÒ»Ñù£¬³ÌÐò½«¸øÎÒÃÇÔÚÊ÷×´ÎïÖÐËùÐèÒªµÄÒ»ÇС£²»¹ý£¬Ê÷×´ÎïÓµÓÐÁ¦Á¿È¥×ö¡¡
ÎÒÃÇÄܹ»ÏëÏñµ½µÄÈκÎÊ¡ª¡ªÔÚÉÏÃæµÄÀý×ÓÖÐÎÒÃǵ½´¦¶¼¿É¿´µ½¡°default¡¡£¨Ä¬ÈÏ£©¡±×ÖÑù£¬ÎÒÃÇ¿ÉÒÔÈ¡´úÎÒ¡¡
ÃÇ×Ô¼ºµÄÀàÀ´»ñÈ¡²»Í¬µÄ¶¯×÷¡£µ«Çë×¢Ò⣺¼¸ºõËùÓÐÕâЩÀ඼ÓÐÒ»¸ö¾ß´óµÄ½Ó¿Ú£¬Òò´ËÎÒÃÇ¿ÉÒÔ»¨Ò»Ð©Ê±¼ä¡¡
ŬÁ¦È¥Àí½âÕâЩ´í×Û¸´ÔÓµÄÊ÷×´Îï¡£¡¡¡¡
13¡£19¡£14¡¡±í¸ñ¡¡¡¡
ºÍÊ÷×´ÎïÒ»Ñù£¬±í¸ñÔÚ¡¡Swing¡¡Ï൱µÄÅÓ´óºÍÇ¿´ó¡£ËüÃÇ×î³õÓÐÒâ±»Éè¼Æ³ÉÒÔ¡¡Java¡¡Êý¾Ý¿âÁ¬½á£¨JDBC£¬ÔÚ15¡¡
ÕÂÓнéÉÜ£©ÎªÃ½½éµÄ¡°Íø¸ñ¡±Êý¾Ý¿â½Ó¿Ú£¬²¢ÇÒÒò´ËËüÃÇÓµÓеľ޴óµÄÁé»îÐÔ£¬Ê¹ÎÒÃDz»Ôٸе½¸´ÔÓ¡£ÎÞ¡¡
ÒÉ£¬ÕâÊÇ×ãÒÔ³ÉΪ³ÉÊìµÄµç×ÓÊý¾Ý±íµÄ»ù´¡Ìõ¼þ¶øÇÒ¿ÉÄÜΪÕû±¾ÊéÌṩºÜºÃµÄ¸ù¾Ý¡£µ«ÊÇ£¬Èç¹ûÎÒÃÇÀí½âÕâ¡¡
¸öµÄ»ù´¡Ìõ¼þ£¬ËüͬÑù¿ÉÄÜ´´½¨Ïà¹ØµÄ¼òµ¥µÄ¡¡Jtable¡£¡¡¡¡
JTable¡¡¿ØÖÆÊý¾ÝµÄÏÔʾ·½Ê½£¬µ«¡¡TableModel¡¡¿ØÖÆËü×Ô¼ºµÄÊý¾Ý¡£Òò´ËÔÚÎÒÃÇ´´½¨JTable¡¡Ç°£¬Ó¦ÏÈ´´½¨Ò»¸ö¡¡
TableModel¡£ÎÒÃÇ¿ÉÒÔÈ«²¿µØÖ´ÐС¡TableModel¡¡½Ó¿Ú£¬µ«Ëüͨ³£´Ó¡¡helper¡¡ÀàµÄAbstractTableModel¡¡´¦¼òµ¥µØ¡¡
¼Ì³Ð£º¡¡¡¡
¡¡¡¡
//£º¡¡Table¡£java¡¡¡¡
//¡¡Simple¡¡demonstration¡¡of¡¡JTable¡¡¡¡
package¡¡c13¡£swing£»¡¡¡¡
import¡¡java¡£awt¡£*£»¡¡¡¡
import¡¡java¡£awt¡£event¡£*£»¡¡¡¡
import¡¡javax¡£swing¡£*£»¡¡¡¡
import¡¡javax¡£swing¡£table¡£*£»¡¡¡¡
import¡¡javax¡£swing¡£event¡£*£»¡¡¡¡
¡¡¡¡
//¡¡The¡¡TableModel¡¡controls¡¡all¡¡the¡¡data£º¡¡¡¡
class¡¡DataModel¡¡extends¡¡AbstractTableModel¡¡£û¡¡¡¡
¡¡¡¡Object£§£§£§£§¡¡data¡¡=¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡£û¡¨one¡¨£»¡¡¡¨two¡¨£»¡¡¡¨three¡¨£»¡¡¡¨four¡¨£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡£û¡¨five¡¨£»¡¡¡¨six¡¨£»¡¡¡¨seven¡¨£»¡¡¡¨eight¡¨£ý£»¡¡¡¡
¡¡¡¡¡¡¡¡£û¡¨nine¡¨£»¡¡¡¨ten¡¨£»¡¡¡¨eleven¡¨£»¡¡¡¨twelve¡¨£ý£»¡¡¡¡
¡¡¡¡£ý£»¡¡¡¡
¡¡¡¡//¡¡Prints¡¡data¡¡when¡¡table¡¡changes£º¡¡¡¡
¡¡¡¡class¡¡TML¡¡implements¡¡TableModelListener¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡public¡¡void¡¡tableChanged£¨TableModelEvent¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡data¡£length£»¡¡i£«£«£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡for£¨int¡¡j¡¡=¡¡0£»¡¡j¡¡¡¶¡¡data£§0£§¡£length£»¡¡j£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£print£¨data£§i£§£§j£§¡¡£«¡¡¡¨¡¡¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡DataModel£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡addTableModelListener£¨new¡¡TML£¨£©£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡482¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡484¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡public¡¡int¡¡getColumnCount£¨£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡data£§0£§¡£length£»¡¡¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡int¡¡getRowCount£¨£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡data¡£length£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡Object¡¡getValueAt£¨int¡¡row£»¡¡int¡¡col£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡data£§row£§£§col£§£»¡¡¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡void¡¡¡¡¡¡
¡¡¡¡setValueAt£¨Object¡¡val£»¡¡int¡¡row£»¡¡int¡¡col£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡data£§row£§£§col£§¡¡=¡¡val£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Indicate¡¡the¡¡change¡¡has¡¡happened£º¡¡¡¡
¡¡¡¡¡¡¡¡fireTableDataChanged£¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡boolean¡¡¡¡¡¡
¡¡¡¡isCellEditable£¨int¡¡row£»¡¡int¡¡col£©¡¡£û¡¡¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡true£»¡¡¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý£»¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
public¡¡class¡¡Table¡¡extends¡¡JPanel¡¡£û¡¡¡¡
¡¡¡¡public¡¡Table£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡setLayout£¨new¡¡BorderLayout£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡JTable¡¡table¡¡=¡¡new¡¡JTable£¨new¡¡DataModel£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡JScrollPane¡¡scrollpane¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡JTable¡£createScrollPaneForTable£¨table£©£»¡¡¡¡
¡¡¡¡¡¡¡¡add£¨scrol¡¡lpane£»¡¡BorderLayout¡£CENTER£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String¡¡args£§£§£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡Show¡£inFrame£¨new¡¡Table£¨£©£»200£»200£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
DateModel¡¡°üÀ¨Ò»×éÊý¾Ý£¬µ«ÎÒÃÇͬÑùÄÜ´ÓÆäËüµÄµØ·½µÃµ½Êý¾Ý£¬ÀýÈç´ÓÊý¾Ý¿âÖС£¹¹½¨Æ÷Ôö¼ÓÁËÒ»¸ö¡¡
TableModelListener¡¡ÓÃÀ´ÔÚÿ´Î±í¸ñ±»¸Ä±äºó´òÓ¡Êý×顣ʣϵķ½·¨¶¼×ñÑBean¡¡µÄÃüÃû¹æÔò£¬²¢ÇÒµ±¡¡
JTable¡¡ÐèÒªÔÚ¡¡DateModel¡¡ÖÐÏÔʾÐÅϢʱµ÷Óá£AbstractTableModel¡¡ÌṩÁËĬÈϵġ¡setValueAt£¨£©ºÍ¡¡
isCellEditable£¨£©·½·¨ÒÔ·ÀÖ¹ÐÞ¸ÄÕâЩÊý¾Ý£¬Òò´ËÈç¹ûÎÒÃÇÏëÐÞ¸ÄÕâЩÊý¾Ý£¬¾Í±ØÐë¹ýÔØÕâЩ·½·¨¡£¡¡¡¡
Ò»µ©ÎÒÃÇÓµÓÐÒ»¸öTableModel£¬ÎÒÃÇÖ»ÐèÒª½«Ëü·ÖÅä¸øJTable¹¹½¨Æ÷¼´¿É¡£ËùÓÐÓйØÏÔʾ£¬±à¼ºÍ¸üеġ¡
Ïêϸ×ÊÁϽ«ÎªÎÒÃÇ´¦Àí¡£×¢ÒâÕâ¸ö³ÌÐ