mcse
مرحباا بك في منتدى mcse
تشكرك الادارة على هده الزيارة


انضم إلى المنتدى ، فالأمر سريع وسهل

mcse
مرحباا بك في منتدى mcse
تشكرك الادارة على هده الزيارة
mcse
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

كيفية استخدام UndoManager بالبرامج

اذهب الى الأسفل

كيفية استخدام UndoManager بالبرامج Empty كيفية استخدام UndoManager بالبرامج

مُساهمة من طرف Ebisu الأربعاء يونيو 16, 2010 11:58 am

السلام عليكم Smile
اي
شخص يحتاج الى Undo و Redo لاحد برامجه،،
يستطيع من خلال هذا الدرس تطبيق الطريقه و استخدامها.


بالبداية: اضف الباكيج
للبرنامج:



import javax.swing.undo.*;

ثانياً:
نقوم بنسخ الكود التالي للبرنامج:



//UNDO AND REDOACTION CLASSES
//THIS PASRT OF CODE WAS TAKEN FROM THE NOTEPAD DEMO FOUND IN THE
JDK1.4.1
DEMO DIRECTORY

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");
}
}
}

ثالثاً:
نقوم بانشاء الاوبجكت للبرنامج:



//for using undo & redo
UndoManager undo = new UndoManager();
UndoAction undoAction = new UndoAction();
RedoAction redoAction = new RedoAction();

اخيراً:
نقوم اضافة الـ UndoAction و الـ
redoAction للـ Menu كأنه MenuItem و سوف تستطيع استخدامها بشكل
تلقائي:




MenuName.add(undoAction);
ManuName.add(redoAction);

**
للتوضيح .. اذا كان المنيو مافي اي صور ..
نستبدل هذا الكود:


super("Undo", new
ImageIcon("images/undo.gif"));

بهذا
الكود:


super("Undo");
و
نفس الطريقه مع كلاس RedoAction ..
Ebisu
Ebisu
مبرمج جيد
مبرمج جيد

عدد المساهمات : 45
السٌّمعَة : 50
تاريخ التسجيل : 11/06/2010
العمر : 43

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى