تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس التاسع - كيفية استخدام UndoManager بالبرامج
#1
كاتب الموضوع : tibo


السلام عليكم

اي شخص يحتاج الى 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();
اخيراً: نقوم اضافة الـ UndoAction و الـ redoAction للـ Menu كأنه MenuItem و سوف تستطيع استخدامها بشكل تلقائي:

كود :
MenuName.add(undoAction);
ManuName.add(redoAction);
** للتوضيح .. اذا كان المنيو مافي اي صور .. نستبدل هذا الكود:

كود :
super("Undo", new ImageIcon("images/undo.gif"));
بهذا الكود:

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

************************************************** **************
ارجو ان يكون الدرس واضح تقبلوا تحياتي
اخوكم تيبو
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس السادس عشر - الطرق Methods RaggiTech 0 2,522 19-10-12, 12:42 PM
آخر رد: RaggiTech
  الدرس الخامس عشر - أوامر التحكّم - التكرار RaggiTech 0 3,614 19-10-12, 12:40 PM
آخر رد: RaggiTech
  الدرس الرابع عشر - أوامر التحكّم - الجمل الشرطية RaggiTech 0 3,697 19-10-12, 12:38 PM
آخر رد: RaggiTech
  الدرس الثالث عشر - العمليات RaggiTech 0 2,500 19-10-12, 12:36 PM
آخر رد: RaggiTech
  الدرس الحادي عشر - إستدعاء حزمة الواجهة الرسومية والعمل عليها RaggiTech 0 2,753 19-10-12, 12:33 PM
آخر رد: RaggiTech
  الدرس العاشر - حزم الجافا (Java Packages) RaggiTech 0 2,746 19-10-12, 12:32 PM
آخر رد: RaggiTech
  الدرس الثامن - تخزين البيانات الضخمة بقاعدة البيانات اوراكل بواسطة الجافا RaggiTech 0 2,671 19-10-12, 12:26 PM
آخر رد: RaggiTech
  الدرس السابع - التعليقات RaggiTech 0 2,287 19-10-12, 12:18 PM
آخر رد: RaggiTech
  الدرس السادس (في جافا) - البرمجة بالكائنات الشيئية RaggiTech 0 2,388 19-10-12, 12:14 PM
آخر رد: RaggiTech
  الدرس الخامس- البحث الثنائى فى المصفوفة Binary Search RaggiTech 0 4,685 19-10-12, 12:12 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم