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
Ïà¹ØÎĵµ£º
ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......
Êý×éÊôÒýÓÃÀàÐÍ£¬Êý×éÐÍÊý¾ÝÊǶÔÏó(object)£¬Êý×éÖеÄÿ¸öÔªËØÏ൱ÓڸöÔÏóµÄ³ÉÔ±±äÁ¿
Êý×éÖеÄÔªËØ¿ÉÒÔÊÇÈκÎÊý¾ÝÀàÐÍ£¬°üÀ¨»ù±¾ÀàÐͺÍÒýÓÃÀàÐÍ
¼ÇסÊý×éÊ×ÏÈ·ÖÅä¿Õ¼äÔÙ¸³Öµ£¡
¶¯Ì¬³õʼ»¯£º¾ÍÊÇÏÈ·ÖÅä¿Õ¼äÔÙ¸³³õÖµ£»
¾²Ì¬³õʼ»¯£º¶¨ÒåÊý×éͬʱ¾ÍΪÊý×éÔªËØ·ÖÅä¿Õ¼ä²¢¸³Öµ¡£
1һάÊý×éµÄÉùÃ÷
һάÊý×éµÄÉùÃ÷£ºtype va ......
ÊÂʵÉÏÍøÂç±à³Ì¼òµ¥µÄÀí½â¾ÍÊÇÁ½Ì¨¼ÆËã»úÏ໥ͨѶÊý¾Ý¶øÒÑ£¬¶ÔÓÚ³ÌÐòÔ±¶øÑÔ£¬È¥ÕÆÎÕÒ»ÖÖ±à³Ì½Ó¿Ú²¢Ê¹ÓÃÒ»ÖÖ±à³ÌÄ£ÐÍÏà¶Ô¾Í»áÏԵüòµ¥µÄ¶àÁË£¬Java SDKÌṩһЩÏà¶Ô¼òµ¥µÄApiÀ´Íê³ÉÕâЩ¹¤×÷¡£Socket¾ÍÊÇÆäÖÐÖ®Ò»£¬¶ÔÓÚJava¶øÑÔ£¬ÕâЩApi´æÔÚÓëjava.net Õâ¸ö°üÀïÃæ£¬Òò´ËÖ»Òªµ¼ÈëÕâ¸ö°ü¾Í¿ÉÒÔ×¼±¸ÍøÂç±à³ÌÁË¡£
http://java.c ......
×÷Ϊ¶ÔÏóµÄ´´½¨Ä£Ê½,µ¥Àýģʽȷ±£Ä³¸öÀàÖ»ÓÐÒ»¸öʵÀý£¬¶øÇÒ×ÔÐÐʵÀý»¯²¢ÏòÕû¸öϵͳÌṩÕâ¸öʵÀý¡£Õâ¸öÀà³ÆÎªµ¥ÀýÀà¡£Óɶ¨Òå¿ÉÒÔ×ܽá³öµ¥ÀýģʽµÄÒªµãÓÐÈý¸ö£ºÒ»Êǵ¥ÀýÀàÖ»ÄÜÓÐÒ»¸öʵÀý£»¶þÊÇËü±ØÐë×ÔÐд´½¨Õâ¸öʵÀý£»ÈýÊÇËü±ØÐë×ÔÐÐÏòÕû¸öϵͳÌṩÕâ¸öʵÀý¡£
ÔÚ¼ÆËã»úϵͳÖУ¬Ï̳߳ء¢»º´æ¡¢ÈÕÖ ......
java¾µäÊé¼®»ã×Ü£¨²¿·Ö£©
Ò»¡¢ÈëÃÅ
¡¶Java 2´ÓÈëÃŵ½¾«Í¨¡·£ ÍÆ¼ö
¡¶Thinking in Java¡·£ Ç¿ÁÒÍÆ¼ö*
O’reillyµÄJava±à³Ì»ù´¡ÏµÁÐ £ ²Î¿¼*
¶þ¡¢½ø½×
¡¶Java Cook Book¡·£ ·Ç³£ÍƼö* £¨°üº¬ÁËJava±à³ÌµÄTips£¬Êʺϵ± ......