التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: واجهة المستخدم الرسومية Java Swing
صفحة 1 من اصل 1 • شاطر
التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)
بسم الله الرحمن الرحيم
_ العنصر حقل النص JTextField هو عنصر أساسي في المكتبة الرسومية Swing الذي يتيح للمستخدمين تحرير سطر واحد من النص. يسرد هذا المقال كيفية التعامل مه من خلال الشفرة
1_ إنشاء العنصر JTextField
هناك اكثر من طريقة لانشاء العنصر JTextField وهم على النحو التالى :
- إنشاء العنصر مع بعض النصوص الاولية
- الكود:
JTextField textField = new JTextField("This is a text");
ويمكنك ملاحظة ان حجم حقل النص JTextField يساوى طول النص المكتوب به
- إنشاء العنصر بتحديد الحجم و بدون نصوص أولية
- الكود:
JTextField textField = new JTextField(20);
ويمكنك ملاحظة أننا قمنا بتحديد حجم النص بالقيمة 20
- إنشاء العنصر بتحديد الحجم وإضافة نصوص أولية
- الكود:
JTextField textField = new JTextField("This is a text", 20);
- إنشاء حقل النص فارغ ثم تعيين النص وعدد الأعمدة في وقت لاحق:
- الكود:
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");
_كما يمكنك تنسيق نص التلميح هذا باستخدام وسم html على النحو التالى :
- الكود:
textField.setToolTipText("<html><b><font color=red>"
+ "Please enter some text here" + "</font></b></html>");
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();
- تحديد جزء من النص :
- الكود:
textField.setSelectionStart(8);
textField.setSelectionEnd(12);
- تعيين لون لاختيار والنص المحدد:
- الكود:
textField.setSelectionColor(Color.YELLOW);
textField.setSelectedTextColor(Color.RED);
7_ تخصيص مظهر JTextField
_توجد بعض الشفرات التى يمكنك استخدامها لتخصيص مظهر حقل النص JTextField على النحو التالى :
- تعطيل تحرير حقل النص
- الكود:
textField.setEditable(false);
- محاذاة النص بداخل الحقل
- الكود:
textField.setHorizontalAlignment(JTextField.CENTER);
وتوجد قيم اخرى للمحاذاة وهى- الكود:
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);
زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
رد: التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)
السلام عليكم أختي زهراء شكرا لك على الموضوعلى
أضفت لى معلومات لم أعرفها شكراا
لدي استفسار عن كيفية جعل jtextfield يكتب باللغة العربية مباشرة أي جعل لغة الكتابة تتغير بشكل آلي بوضع
الفأرة في jtextfield
شكرا وجزاك الله خيرا
أضفت لى معلومات لم أعرفها شكراا
لدي استفسار عن كيفية جعل jtextfield يكتب باللغة العربية مباشرة أي جعل لغة الكتابة تتغير بشكل آلي بوضع
الفأرة في jtextfield
شكرا وجزاك الله خيرا
infomath- .
- تاريخ التسجيل : 03/02/2014
المساهمات : 2
النقاط : 2
التقيم : 0
الدولة :
الجنس :
رد: التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)
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
شكرا جزيلا أختي على ردك السرييع جزاك الله خيرا
لكن عندما اضفت الكود التالي لم تتغير اللغة من فضلك ماهو الخطأ لماذا لم تتغير اللغة
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 مرات (السبب : للتنسيق)
infomath12- زائر
رد: التعامل مع العناصر الرسومية فى الجافا باستخدام الشفرة (العنصر JTextField)
أختى الكريمة اذا اردتى استخدام الشفر فى انشاء JTextField بدلا من سحبة ووضعة على النافذة كما فى النت بينز مثلا فعليك استخدام الكود على النحو التالى :
كود انشاء الكائن :
كود انشاء مستمع addFocusListener بالاضافة الى كود تغير اللغة تلقائى عندما يتم التركيز على الحقل textfield على النحو التالى :
كود انشاء الكائن :
- الكود:
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)
شكرا جزيلا وأعتذر من التاخر
الكود ناجح
شكرا جزيييييييييييييلا اختي
الكود ناجح
شكرا جزيييييييييييييلا اختي
infomath- .
- تاريخ التسجيل : 03/02/2014
المساهمات : 2
النقاط : 2
التقيم : 0
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: واجهة المستخدم الرسومية Java Swing
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
أمس في 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
أمس في 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft