[Swing]القص , النسخ , اللقص فى حقل النص JTextField
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: واجهة المستخدم الرسومية Java Swing
صفحة 1 من اصل 1 • شاطر
[Swing]القص , النسخ , اللقص فى حقل النص JTextField
كود بسيط لانشاء قائمة منبثقة لعميات القص , النسخ , اللقص فى حقل النص #JTextField بالخطوات البسيطة التالية :
1_نقوم بانشاء كلاس جديد وليكن باسم TextWithPopUp.java
4_ قم بحقظ الكلاس السابق
5_ قم بإنشاء نافذة JFrame
6_أخيرا اسحب الفئة TextWithPopUp.java إلى Jframe حتى تظهر صورة JTextField العادي على النافذة
1_نقوم بانشاء كلاس جديد وليكن باسم TextWithPopUp.java
2_ قم بتميدي الكلاس السابق بـــ extend JTextField ليصبح بالشكل التالى :
3_ كتابة الشفرة لهذا الكلاس على النحو التالى :
- الكود:
// إستيراد المك
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.event.UndoableEditEvent;
import javax.swing.event.UndoableEditListener;
import javax.swing.undo.CannotRedoException;
import javax.swing.undo.CannotUndoException;
import javax.swing.undo.UndoManager;
public class TextWithPopUp extends JTextField{
// إنشاء كائن القائمة المنبثقة
JPopupMenu popup = new JPopupMenu();
// إنشاء حقل النص
JTextField text = this;
UndoManager manager = new UndoManager();
// إنشاء عناصر القائمة
JMenuItem menuCut = new JMenuItem("Cut");
JMenuItem menuCopy = new JMenuItem("Copy");
JMenuItem menuPaste = new JMenuItem("Paste");
JMenuItem menuUndo = new JMenuItem("Undo");
JMenuItem menuRedo = new JMenuItem("Redo");
public TextWithPopUp() {
super();
initAksi();
initPopup();
}
// طريقة لوضع عناصر القائمة الى كائن القائمة
private void initPopup(){
this.setComponentPopupMenu(popup);
popup.add(menuCut);
popup.add(menuCopy);
popup.add(menuPaste);
JSeparator separator = new JSeparator();
popup.add(separator);
popup.add(menuUndo);
popup.add(menuRedo);
}
// طريقة لوضع ايقونة لعناصر القائمة
private void initAksi(){
menuCut.setIcon(new ImageIcon(getClass().getResource("/blog/ganjar/popupmenu/icon/cut-icon.png")));
menuCut.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
text.cut();
}
});
menuCopy.setIcon(new ImageIcon(getClass().getResource("/blog/ganjar/popupmenu/icon/Copy-icon.png")));
menuCopy.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
text.copy();
}
});
menuPaste.setIcon(new ImageIcon(getClass().getResource("/blog/ganjar/popupmenu/icon/Paste-icon.png")));
menuPaste.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
text.paste();
}
});
text.getDocument().addUndoableEditListener(new UndoableEditListener() {
@Override
public void undoableEditHappened(UndoableEditEvent e) {
manager.addEdit(e.getEdit());
}
});
menuUndo.setIcon(new ImageIcon(getClass().getResource("/blog/ganjar/popupmenu/icon/Undo-icon.png")));
menuUndo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
manager.undo();
} catch (CannotUndoException cannotUndoException) {
System.err.println(cannotUndoException);
}
}
});
menuRedo.setIcon(new ImageIcon(getClass().getResource("/blog/ganjar/popupmenu/icon/Redo-icon.png")));
menuRedo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
manager.redo();
} catch (CannotRedoException cannotRedoException) {
System.err.println(cannotRedoException);
}
}
});
}
}
4_ قم بحقظ الكلاس السابق
5_ قم بإنشاء نافذة JFrame
6_أخيرا اسحب الفئة TextWithPopUp.java إلى Jframe حتى تظهر صورة JTextField العادي على النافذة
7_ قم بتشغيل النافذة ليظهر حقل النص كما فى الصورة التالية مع كافة أوامر النسخ و القص و اللصق
السنى- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 249
النقاط : 464
التقيم : 25
الجنس :
رد: [Swing]القص , النسخ , اللقص فى حقل النص JTextField
أعجبنى شرحك
شكرا لك
شكرا لك
زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
1zaza- ...
- تاريخ التسجيل : 18/11/2018
المساهمات : 39
النقاط : 66
التقيم : 3
الدولة :
الجنس :
السنى- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 249
النقاط : 464
التقيم : 25
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: واجهة المستخدم الرسومية Java Swing
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
أمس في 7:09 pm من طرف moslema_r
» شركة تنظيف فرشات بالرياض
الثلاثاء مارس 26, 2024 6:26 pm من طرف moslema_r
» شركة تنظيف استراحات بالرياض
الأحد مارس 24, 2024 10:49 pm من طرف moslema_r
» كشف تسربات المياه في جدة
السبت مارس 23, 2024 7:23 pm من طرف gmalnagy
» خدمات كشف تسربات المياه بخصم 25% - اتصل الان
السبت مارس 23, 2024 7:22 pm من طرف gmalnagy
» شركة تنظيف ثريات بالرياض
الخميس مارس 21, 2024 7:23 pm من طرف moslema_r
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد
» افضل معلم جبس بالرياض تركيب جبس بورد بالرياض 20% خصم اتصل الآن
الأحد مارس 17, 2024 1:09 pm من طرف رانيا حماد
» شراء اثاث مستعمل بالكويت بخصم 30%
الأحد مارس 17, 2024 12:54 pm من طرف رانيا حماد