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

التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)

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

 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Empty التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)

مُساهمة من طرف زهراء الأربعاء يناير 08, 2014 12:00 pm

بسم الله الرحمن الرحيم


_ العنصر حقل النص JTextField هو عنصر أساسي في المكتبة الرسومية Swing الذي يتيح للمستخدمين تحرير سطر واحد من النص. يسرد هذا المقال كيفية التعامل مه من خلال الشفرة

1_ إنشاء العنصر JTextField

هناك اكثر من طريقة لانشاء العنصر JTextField وهم على النحو التالى :


  • إنشاء العنصر مع بعض النصوص الاولية 

    الكود:
    JTextField textField = new JTextField("This is a text");

    ويمكنك ملاحظة ان حجم حقل النص JTextField يساوى طول النص المكتوب به


 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Text%20field%20with%20initial%20text



  • إنشاء العنصر بتحديد الحجم و بدون نصوص أولية

    الكود:
    JTextField textField = new JTextField(20);

    ويمكنك ملاحظة أننا قمنا بتحديد حجم النص بالقيمة 20


 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Text%20field%20with%20specified%20width


  • إنشاء العنصر بتحديد الحجم وإضافة نصوص أولية

    الكود:
    JTextField textField = new JTextField("This is a text", 20);



 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Text%20field%20with%20initial%20text%20and%20specified%20width


  • إنشاء حقل النص فارغ ثم تعيين النص وعدد الأعمدة في وقت لاحق:

    الكود:
    JTextField textField = new JTextField();
    textField.setText("This is a text");
    textField.setColumns(20);



2_الحصول على أو تعيين محتوى حقل النص

_يمكنك إستخدام الاسلوب getText للحصول على محتوى حقل النص على النحو التالى :

الكود:
String content = textField.getText();

_ كما يمكنك الحصول جزء معين من محتوى النص على النحو التالى :

الكود:
int offset = 5;
int length = 10;
 
try {
    content = textField.getText(offset, length);
} catch (BadLocationException ex) {
   }

والكود اعلاه يقوم بالحصول على 10 احرف من النص بداية من الحرف رقم 5 فى النص

_ يمكنك تعين قيمة المحتوى للحقل على النحو التالى :

الكود:
textField.setText("another text");

3_إنشاء نص تلميح tooltip لحقل النص

_ يمكنك استخدام الاسلوب setToolTipText لعمل نص تلميح لمكونات الرسومية فى الجافا وهو النص الذى يظهر عند وقوف الماوس على هذا العنصر ....وذلك على النحو التالى :

الكود:
textField.setToolTipText("Please enter some text here");

 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Set%20tooltip%20for%20text%20field

_كما يمكنك تنسيق نص التلميح هذا باستخدام وسم html على النحو التالى :

الكود:
textField.setToolTipText("<html><b><font color=red>"
                    + "Please enter some text here" + "</font></b></html>");

 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Html%20tooltip%20text%20field

4_تحديد تركيز الإدخال input focus

عادة، يتم عمل تركيز لحقل النص عندما يقوم المستخدم بالنقر عليها أو الضغط على مفتاح TAB. لتعيين التركيز المدخلات برمجيا، يمكنك استخدم التعليمات البرمجية التالية و التى تحديد تركيز الإدخال في البداية فقط بعد عرض الحاوية (مثل JFrame):

الكود:
frame.setVisible(true);
textField.requestFocusInWindow();

_ كما يمكنك تحديد تركيز الإدخال في أي وقت حيث من المستحسن أن تطلب من التركيز داخل الطريقة  SwingUtilities.invokeLater () على النحو التالى :

الكود:
SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
        textField.requestFocusInWindow();
    }
});

5_ إضافة حدث لحقل النص event listeners

يمكنك إضافة مستمع حدث لحقل النص بكل سهولة و يسر باستخدام الاسلوب addKeyListener ومن خلالة تستطيع عمل أحداث للحقل فى طرق عدة على النحو التالى :


  • حدث النقر على مفتاح Enter :

    الكود:
    textField.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            System.out.println("The entered text is: " + textField.getText());
        }
    });



6_ تحديد النص فى العنصر  JTextField


  • تحديد النص كاملا :

    الكود:
    textField.selectAll();

     التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Select%20all%20text%20field%20content

  • تحديد جزء من النص :

    الكود:
    textField.setSelectionStart(8);
    textField.setSelectionEnd(12);

     التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Select%20a%20portion%20of%20text%20field%20content

  • تعيين لون لاختيار والنص المحدد:

    الكود:
    textField.setSelectionColor(Color.YELLOW);
    textField.setSelectedTextColor(Color.RED);




 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Set%20selected%20color%20text%20field


7_ تخصيص مظهر JTextField

_توجد بعض الشفرات التى يمكنك استخدامها لتخصيص مظهر حقل النص JTextField على النحو التالى :


  • تعطيل تحرير حقل النص

    الكود:
    textField.setEditable(false);

     التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Disabled%20field

  • محاذاة النص بداخل الحقل

    الكود:
    textField.setHorizontalAlignment(JTextField.CENTER);

     التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Centered%20alignment%20text%20field

    وتوجد قيم اخرى للمحاذاة وهى 


    الكود:
    JTextField.LEFT
    JTextField.CENTER
    JTextField.RIGHT
    JTextField.LEADING
    JTextField.TRAILING

  • تنسيق نوع الخط و حجمة ولون خلفية الحقل على النحو التالى :

    الكود:
    textField.setFont(new java.awt.Font("Arial", Font.ITALIC | Font.BOLD, 12));
    textField.setForeground(Color.BLUE);
    textField.setBackground(Color.YELLOW);

     التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Colorful%20text%20field

زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

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

 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Empty رد: التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)

مُساهمة من طرف infomath الثلاثاء فبراير 04, 2014 7:42 am

السلام عليكم أختي زهراء شكرا لك على الموضوعلى
أضفت لى معلومات لم أعرفها شكراا
لدي استفسار عن كيفية جعل jtextfield يكتب  باللغة العربية مباشرة أي جعل لغة الكتابة تتغير بشكل آلي بوضع 
الفأرة في jtextfield 
شكرا وجزاك الله خيرا
infomath
infomath
.
.

تاريخ التسجيل : 03/02/2014
المساهمات : 2
النقاط : 2
التقيم : 0
الدولة : الجزائر
الجنس : انثى

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

 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Empty رد: التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)

مُساهمة من طرف زهراء الثلاثاء فبراير 04, 2014 8:11 am

infomath كتب:السلام عليكم أختي زهراء شكرا لك على الموضوعلى
أضفت لى معلومات لم أعرفها شكراا
لدي استفسار عن كيفية جعل jtextfield يكتب  باللغة العربية مباشرة أي جعل لغة الكتابة تتغير بشكل آلي بوضع 
الفأرة في jtextfield 
شكرا وجزاك الله خيرا

بل شكر لكى أختى الكريمة على مرورك و بارك الله فيكى

بالنسبة لسؤال قوى بكتابة الكود التالى فى مستمع FocusGained للمكون jtextfield على النحو التالى :

الكود:

private void textFirstNameFocusGained(java.awt.event.FocusEvent evt) {
 textFirstName.getInputContext().selectInputMethod(new Locale("ar", "SA"));
textFirstName.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
}

حيث أن :textFirstName هو الاسم البرمجى للمكون jtextfield



واشكرك على مرورك
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

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

 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Empty jtextfield

مُساهمة من طرف infomath12 الثلاثاء فبراير 04, 2014 1:46 pm

    شكرا جزيلا أختي على ردك السرييع جزاك الله خيرا
لكن عندما اضفت الكود التالي لم تتغير اللغة من فضلك ماهو الخطأ لماذا لم تتغير اللغة
motF من صنف JTextField


الكود:

}(  motF.addFocusListener(new FocusListener(){public void focusGained(FocusEvent arg0


{;(textFirstNameFocusGained(arg  
       
        @Override
      }(  public void focusLost(FocusEvent arg0
            // TODO Auto-generated method stub
           
        {
           
    ;({

شكرا لك مرة أخرى


عدل سابقا من قبل أحمد مناع في الأربعاء فبراير 05, 2014 9:52 am عدل 1 مرات (السبب : للتنسيق)
Anonymous
infomath12
زائر


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

 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Empty رد: التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)

مُساهمة من طرف زهراء الأربعاء فبراير 05, 2014 10:24 am

أختى الكريمة اذا اردتى استخدام الشفر فى انشاء JTextField بدلا من سحبة ووضعة على النافذة كما فى النت بينز مثلا فعليك استخدام الكود على النحو التالى :

كود انشاء الكائن :

الكود:
final JTextField textField = new JTextField(20);  


كود انشاء مستمع addFocusListener بالاضافة الى كود تغير اللغة تلقائى عندما يتم التركيز على الحقل textfield على النحو التالى :

الكود:
     
  textField.addFocusListener(new java.awt.event.FocusAdapter() {

public void focusGained(java.awt.event.FocusEvent evt) {
       
textField.getInputContext().selectInputMethod(new Locale("ar", "SA"));
textField.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
         
            }
});
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

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

 التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField) Empty رد: التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)

مُساهمة من طرف infomath الأربعاء فبراير 12, 2014 3:45 pm

شكرا جزيلا وأعتذر من التاخر
الكود ناجح
شكرا جزيييييييييييييلا اختي  Smile
infomath
infomath
.
.

تاريخ التسجيل : 03/02/2014
المساهمات : 2
النقاط : 2
التقيم : 0
الدولة : الجزائر
الجنس : انثى

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

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

ََ

مواضيع ذات صلة


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