|
كيفية استخدام UndoManager بالبرامج
السلام عليكم
اي شخص يحتاج الى 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 ..
المزيد من المواضيع
مقدمة عن لغة الجـافـا وبيئة التشغيل |[( الجزء الأول )]|
استخدام الهتمل (HTML) بمكونات الـ Swing
اظهار الجداول من الجهه اليمنى (JArabicTable)
البحث الثنائي (2) Binary Search
المصفوفة المتناثرة Sparse Matrix
المصفوفة المتناثرة Sparse Matrix
حزم الجافا
مدخل إلى البرمجة الشيئية أو الكائنية التوجّه Object Oriented Programming
أسئلة و اجوبة عامة لكل مبتدئ في الجافا
مقدمة عن لغة الجـافـا وبيئة التشغيل |[( الجزء الثاني )]|
اساسيات في الجافا
مقدمة عن لغة الجـافـا وبيئة التشغيل |[( الجزء الأول )]|
|