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

إستخدم النصوص التوضيحية PlaceHolder فى حقل النص jtextfield

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

إستخدم النصوص التوضيحية PlaceHolder فى حقل النص jtextfield Empty إستخدم النصوص التوضيحية PlaceHolder فى حقل النص jtextfield

مُساهمة من طرف زهراء الجمعة مارس 06, 2020 3:20 pm

#PlaceHolder هو مصطلح يشير الى النص الذي يظهر في حقل النص (JTextField ) قبل إدراج المحتوى. وبهذه الطريقة يمكنك أن تشير للمستخدم إلى نوع المحتوى الذي نريد إدراجه في هذا الحقل ، أي أنه يعتبر نوع من المساعدة للمستخدم....


إستخدم النصوص التوضيحية PlaceHolder فى حقل النص jtextfield Placeholder

يمكننا إنشاء #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);


إستخدم النصوص التوضيحية PlaceHolder فى حقل النص jtextfield Placeholder_java-300x172
زهراء
زهراء
........
........

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

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

إستخدم النصوص التوضيحية PlaceHolder فى حقل النص jtextfield Empty رد: إستخدم النصوص التوضيحية PlaceHolder فى حقل النص jtextfield

مُساهمة من طرف أحمد مناع الجمعة مارس 20, 2020 7:14 am


اشكرك على مجهودك @زهراء

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

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

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

ََ

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


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