إستخدم النصوص التوضيحية PlaceHolder فى حقل النص jtextfield
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: واجهة المستخدم الرسومية Java Swing
صفحة 1 من اصل 1 • شاطر
إستخدم النصوص التوضيحية PlaceHolder فى حقل النص jtextfield
#PlaceHolder هو مصطلح يشير الى النص الذي يظهر في حقل النص (JTextField ) قبل إدراج المحتوى. وبهذه الطريقة يمكنك أن تشير للمستخدم إلى نوع المحتوى الذي نريد إدراجه في هذا الحقل ، أي أنه يعتبر نوع من المساعدة للمستخدم....

يمكننا إنشاء #PlaceHolder في المكون JTextField في java عن طريق الكتابة فوق طريقة paintComponent لإظهار PlaceHolder عندما يكون حقل النص JTextField فارغًا وإخفاء نص التعليمات بمجرد أن يبدأ المستخدم في الكتابة فيه.
يمكنك ملاحظة أن الفئة اعلاه JCTextField تم تميديها من الفئة JTextField و لننفذها في JFrame على النحو التالي:


يمكننا إنشاء #PlaceHolder في المكون JTextField في java عن طريق الكتابة فوق طريقة paintComponent لإظهار PlaceHolder عندما يكون حقل النص JTextField فارغًا وإخفاء نص التعليمات بمجرد أن يبدأ المستخدم في الكتابة فيه.
- الكود:
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JTextField;
public class JCTextField extends JTextField {
// متغير لتخزين قيمة النص المراد استخدامة
private String placeholder="من فضلك ضع ارقام فقط";
// تحديد لون النص
private Color phColor= getDisabledTextColor();//getDisabledTextColor();
public JCTextField() {
setHorizontalAlignment(JTextField.RIGHT);
setPhColor(phColor);
}
public String getPlaceholder() {
return this.placeholder;
}
public Color getPhColor() {
return phColor;
}
public void setPhColor(Color phColor) {
this.phColor = phColor;
}
public void setPlaceholder(final String s) {
this.placeholder = s;
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
// جملة شرطية للتاكد من ان حقل النص فارغ
if (super.getText().length() > 0 || placeholder == null) {
return;
}
// انشاء كائن الرسم
Graphics2D g2 = (Graphics2D) g;
// تحديد نوع وحجم الخط المستخدم فى النص
g2.setFont(new Font("Arial", Font.ITALIC, 16));
// وضع لون الرسم
g2.setColor(phColor);
// رسم النص بداخل حقل النص
g2.drawString(placeholder, getInsets().left, g.getFontMetrics().getMaxAscent() + getInsets().bottom);
}
}
يمكنك ملاحظة أن الفئة اعلاه JCTextField تم تميديها من الفئة JTextField و لننفذها في JFrame على النحو التالي:
- الكود:
//default
JCTextField jCTextField1 = new JCTextField();
jCTextField1.setLocation(40, 40);
jCTextField1.setPlaceholder("Escribe tu E-Mail");
add(jCTextField1);
//Custom
JCTextField jCTextField2 = new JCTextField();
jCTextField2.setLocation(40, 100);
jCTextField2.setPlaceholder("First Name please");
jCTextField2.setSize( new Dimension(300,56));
jCTextField2.setPhColor( new Color(72,117,210) );
jCTextField2.setFont( new Font("SansSerif",Font.PLAIN, 18) );
add(jCTextField2);

زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
رد: إستخدم النصوص التوضيحية PlaceHolder فى حقل النص jtextfield
اشكرك على مجهودك @زهراء
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: واجهة المستخدم الرسومية Java Swing
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
» Best Signals
» شغالات بالشهر جدة
» اربح من كتابة المقالات مع منصة كيفيات
» مناديل اورجانيك المبللة للأطفال | organyckw
» تركيب اللوح الإعلانية للمحلات | تركيب لوحات الحروف البارزة | كواليتي ميكرز
» اسلوب راقي للمنازل
» إسألي عائشة عن كل ما يخص الجمال
» مميزات اللمسة المنزلية
» قناة العاب ويوميات سيلا