JavaÓ¦Óü¼ÇÉ——Îı¾³·Ïú¡¢»Ö¸´¹¦ÄܵÄʵÏÖ
×÷Îı¾±à¼Æ÷µÄʱºò£¬³·Ïú(undo)¡¢»Ö¸´(redo)ÊDZز»¿ÉÉÙµÄÁ½¸ö¹¦ÄÜ¡£ÊµÏÖÕâ¸ö¹¦ÄÜ£¬ÒªÓõ½javax.swing.undo°üÖеÄUndoManagerÀà¡£
UndoManagerÀàÓÐÈçϳ£Ó÷½·¨£º
boolean canUndo() ——ÅжÏÄÜ·ñ½øÐг·Ïû²Ù×÷£¬¿ÉÒÔÔò·µ»Øtrue¡£
boolean canRedo() ——ÅжÏÄÜ·ñ½øÐлָ´²Ù×÷£¬¿ÉÒÔÔò·µ»Øtrue¡£
void Undo() ——½øÐг·Ïû²Ù×÷¡£
void Redo() ——½øÐлָ´²Ù×÷¡£
µ«ÊÇ£¬½øÐг·Ïú¡¢»Ö¸´²Ù×÷ǰ»¹Ó¦Îª³·Ïú¡¢»Ö¸´µÄ¶ÔÏó×¢²áÕìÌýÆ÷¡£ÔÚÎı¾±à¼Æ÷ÖУ¬¶ÔÏó¾ÍÊÇÎı¾¡£ÀýÈçÏÈÉùÃ÷Á½¸ö¶ÔÏó£º
JTextArea text = new JTextArea();
UndoManager undomg = new UndoManager();
½ÓÏÂÀ´£¬ÎªtextÌí¼ÓÕìÌýÆ÷£º
text.getDocument().addUndoableEditListener(undomg);
ÕâÀïҪ˵Ãûһϣ¬Ö®ËùÒÔҪдgetDocument()ÊÇÒòΪע²áÕìÌýÆ÷µÄ¶ÔÏóÊÇÎı¾£¬²»ÊÇÎı¾¿ò¡£addUndoableEditListener(undomg)µÄ×÷ÓÃÊÇΪtextµÄÎı¾×¢²áÕìÌýÆ÷£¬¸Ã·½·¨µÄÔÐÍÊÇ£º
void addUndoableEditListener(UndoableEditListener listener)
¿ÉÒÔ¿´³ö£¬¸Ã·½·¨µÄ²ÎÊýÓ¦ÊÇÒ»¸öUndoableEditListener½Ó¿ÚÀàÐ͵IJÎÊý£¬¶øÎÒÃÇÓõIJÎÊýÊÇUndoManagerÀàÐÍ£¬ÕâÊÇÒòΪUndoManagerÀàÒѾʵÏÖÁËUndoableEditListener½Ó¿ÚµÄÔµ¹Ê¡£
ÏÖÔھͿÉÒÔ½øÐг·Ïú¡¢»Ö¸´²Ù×÷ÁË¡£·½·¨ÊÇ£º
undomg.Undo(); //³·Ïú
undomg.Redo(); //»Ö¸´
µ«ÊÇÕâÑù²»ËãÍêÃÀ£¬ÒòΪÈç¹ûÎÞ·¨³·Ïú»ò»Ö¸´£¬ÕâÁ½¸öÓï¾ä¾Í²»»áÆðÈκÎ×÷Óá£Òò´ËÎÒÃǸÄÓÃÈçÏ·½·¨£º
if(undomg.canUndo()) { //³·Ïú
undomg.Undo();
}
if(undomg.canRedo()) { //»Ö¸´
undomg.Redo();
}
ÕâÑùÒ»À´£¬Îı¾±à¼Æ÷µÄ³·Ïú¡¢»Ö¸´¹¦ÄܺÜÈÝÒ׵ؾÍʵÏÖÁË¡£ÒÔÏÂÊÇÒ»¸öÀý×Ó£º
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.undo.*;
class UndoDemo extends JFrame {
static JTextArea text = new JTextArea();
static JPanel pnl = new JPanel();
static JButton unbtn = new JButton("³·Ïú");
static JButton rebtn = new JButton("»Ö¸´");
static UndoManager undomg = new UndoManager();
UndoDemo() {
super("³·Ïú¡¢»Ö¸´¹¦ÄÜʵÀý");
setVisible(true);
setSize(400,300);
s
Ïà¹ØÎĵµ£º
Ò»£º×¼±¸ www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
¶þ£º±àÒëÔ´ÎļþµÃµ½jar°ü ʹÓÃAnt
1. build vserv-tcpip-0.9.2-src
ÔÚvserv-tcpip-0.9.2Ŀ¼ÏÂÃæ½¨Ò»¸ötestsĿ¼£¬È»ºóÔÚcmd´°¿ÚϽøÈë ......
package cn.test;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
/**
* Java Reflection Cookbook
*
* @author Michael Lee
* @since 2006-8-23
* ......
platform ['plætfɔ:m] n.ƽ̨
standard edition±ê×¼°æ
enterprise ['entəpraiz] n. ÆóÒµ
bytecode n.×Ö½ÚÂ룬×Ö½Ú´úÂë
verifier n. ¼ìÑé»ú
modifier [‘mɔdifaiə] n.ÐÞÊÎÓï
attribute [‘ætribju:t] vt.(to)°Ñ…¹éÒòÓÚn.ÊôÐÔ£¬ÌØÐÔ
declaration ......
2009Äê7ÔÂÎҲμÓÁËÒ»¸öJAVAרҵ»ú¹¹µÄÅàѵ£¬Ö®ËùÒԲμÓÕâ¸öÅàѵ£¬ÎÒÊÇΪÁ˽øÒ»²½ÌáÉý×Ô¼ºµÄ¼¼Êõ£¬ÁíÒ»·½ÃæÎÒÒ²±È½Ïϲ»¶JAVA£¬Ï£ÍûËüÄܳÆÎªÎҵļ¼ÊõÖ÷Á¦¡£×ªÑÛ£¬Åàѵ¾Í¿ì½áÊøÁË£¬ÐÄÖиÐÎòÁ¼¶à£¬Ï£ÍûÓë¾ý¹²Ãã¡£
ÎÒËù²Î¼ÓµÄÅàѵ»ú¹¹Ö»ÓÐÒ»¸öÀÏʦ£¬²»ÏñºÜ¶àµØ·½ÓкöàµÄÀÏʦ£¬Ã¿Ììÿһ½Ú¿Î¶¼ÊÇËûÀ´¸ ......
==²Ù×÷·ûÓëequals·½·¨µÄÇø±ð£º
==ÊÇÒýÓÃÀàÐͱȽÏÒýÓÃ(Ò²¾ÍÊDZȽÏÄÚÈݺ͵ØÖ·)£»»ù±¾ÀàÐͱȽÏÖµ£»
equals()·½·¨Ö»ÄܱȽÏÒýÓÃÀàÐÍ£¬"=="¿ÉÒԱȽÏÒýÓÃÀàÐͼ°»ù±¾ÀàÐÍ£»
ÌØÀý£ºµ±ÓÃequals()·½·¨½øÐбȽÏʱ£¬¶ÔÀàFile¡¢String¡¢Date¼°·â×°ÀࣨWrapper°ü×° ......