كيفية استخدام UndoManager بالبرامج
صفحة 1 من اصل 1
كيفية استخدام 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 ..
اي
شخص يحتاج الى 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- مبرمج جيد
- عدد المساهمات : 45
السٌّمعَة : 50
تاريخ التسجيل : 11/06/2010
العمر : 43
مواضيع مماثلة
» (14) استخدام عضو من فئة
» (11) استخدام المتغيرات
» كيفية تركيب الخطوط العربية في اللنكس
» استخدام الهتمل (HTML) بمكونات الـ Swing
» كيفية تفعيل العضوية للأعضاء الجدد مهم جداً
» (11) استخدام المتغيرات
» كيفية تركيب الخطوط العربية في اللنكس
» استخدام الهتمل (HTML) بمكونات الـ Swing
» كيفية تفعيل العضوية للأعضاء الجدد مهم جداً
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى