19-10-12, 12:26 PM
كاتب الموضوع : tibo
السلام عليكم
اي شخص يحتاج الى Undo و Redo لاحد برامجه،، يستطيع من خلال هذا الدرس تطبيق الطريقه و استخدامها.
بالبداية: اضف الباكيج للبرنامج:
ثانياً: نقوم بنسخ الكود التالي للبرنامج:
ثالثاً: نقوم بانشاء الاوبجكت للبرنامج:
اخيراً: نقوم اضافة الـ UndoAction و الـ redoAction للـ Menu كأنه MenuItem و سوف تستطيع استخدامها بشكل تلقائي:
** للتوضيح .. اذا كان المنيو مافي اي صور .. نستبدل هذا الكود:
بهذا الكود:
و نفس الطريقه مع كلاس RedoAction ..
************************************************** **************
ارجو ان يكون الدرس واضح تقبلوا تحياتي
اخوكم تيبو
السلام عليكم
اي شخص يحتاج الى Undo و Redo لاحد برامجه،، يستطيع من خلال هذا الدرس تطبيق الطريقه و استخدامها.
بالبداية: اضف الباكيج للبرنامج:
كود :
import javax.swing.undo.*;
كود :
[COLOR=seagreen]//UNDO AND REDOACTION CLASSES
//THIS PASRT OF CODE WAS TAKEN FROM THE NOTEPAD DEMO FOUND IN THE JDK1.4.1 DEMO DIRECTORY [/COLOR]
class UndoAction extends AbstractAction{
public UndoAction(){
super("Undo", new ImageIcon("images/undo.gif"));
setEnabled(false);
}
public void actionPerformed(ActionEvent e){
try{
undo.undo();
}
catch (CannotUndoException ex){
System.out.println("Unable to undo: " + ex);
ex.printStackTrace();
}
update();
redoAction.update();
}
protected void update(){
if(undo.canUndo()){
setEnabled(true);
putValue("Undo", undo.getUndoPresentationName());
}
else{
setEnabled(false);
putValue(Action.NAME, "Undo");
}
}
}
class RedoAction extends AbstractAction{
public RedoAction(){
super("Redo", new ImageIcon("images/redo.gif"));
setEnabled(false);
}
public void actionPerformed(ActionEvent e){
try{
undo.redo();
}
catch (CannotRedoException ex){
System.out.println("Unable to redo: " + ex);
ex.printStackTrace();
}
update();
undoAction.update();
}
protected void update(){
if(undo.canRedo()){
setEnabled(true);
putValue("Redo", undo.getRedoPresentationName());
}
else{
setEnabled(false);
putValue(Action.NAME, "Redo");
}
}
}
كود :
[color=seagreen]//for using undo & redo[/color]
UndoManager undo = new UndoManager();
UndoAction undoAction = new UndoAction();
RedoAction redoAction = new RedoAction();
كود :
MenuName.add(undoAction);
ManuName.add(redoAction);
كود :
super("Undo", new ImageIcon("images/undo.gif"));
كود :
super("Undo");
************************************************** **************
ارجو ان يكون الدرس واضح تقبلوا تحياتي
اخوكم تيبو