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

إنشاء و تنسيق الوان العنصر JProgressBar

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

إنشاء و تنسيق الوان العنصر JProgressBar  Empty إنشاء و تنسيق الوان العنصر JProgressBar

مُساهمة من طرف زهراء الأربعاء نوفمبر 27, 2019 8:32 pm

العنصر الرسومي #JProgressBar هو جزء من حزمة Java Swing و هو المكون الذي يعرض بصريا تقدم بعض المهام. لذلك سنتعلم فى هذا المقال كيفية انشائه و التعامل معه

إنشاء و تنسيق الوان العنصر JProgressBar  GradientPalletProgressBar

أولا :بناء العنصر الرسومي #JProgressBar

فيما ادنا المشيدات التى تستخدم فى بناء و تشيد #JProgressBar


  • ينشئ شريط تقدم بدون نص عليه ؛


الكود:
JProgressBar ()



  •  ينشئ شريط تقدم مع اتجاه محدد. إذا تم تمرير #SwingConstants_VERTICAL كوسيطة ، يتم إنشاء شريط تقدم عمودي ، إذا تم تمرير #SwingConstants_HORIZONTAL كوسيطة ، يتم إنشاء شريط تقدم أفقي.

الكود:
JProgressBar(int orientation)



  • ينشئ شريط تقدم مع الحد الأدنى والحد الأقصى للقيمة المحددة.

الكود:
JProgressBar (int min، int max)



  • ينشئ شريط تقدم مع الحد الأدنى والحد الأقصى للقيمة المحددة وتوجيه محدد. إذا تم تمرير SwingConstants.VERTICAL كوسيطة ، يتم إنشاء شريط تقدم عمودي ، إذا تم تمرير SwingConstants.HORIZONTAL كوسيطة يتم إنشاء شريط التقدم الأفقي.


الكود:
JProgressBar(int orientation, int min, int max)

أمثلة توضيحية :

1_إنشاء JProgressBar بدون نص عليه

الكود:
import java.awt.*;
import javax.swing.*;
 
public class Main {
 
    public static void main(String[] args) {
        final int MAX = 100;
        final JFrame frame = new JFrame("JProgress Demo");
 
        // إنشاء شريط التقديم
        final JProgressBar pb = new JProgressBar();
        // تحديد ادنى قيمة و اعلى قيمة لشريط التقدم
        pb.setMinimum(0);
        pb.setMaximum(MAX);
      
 
        // إضافة شريط التقديم للنافذة
        frame.setLayout(new FlowLayout());
        frame.getContentPane().add(pb);
 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);
 
        // حلقة تكرارية لتحديث قيمة شريط التقديم
        for (int i = 0; i <= MAX; i++) {
            final int currentValue = i;
            try {
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        pb.setValue(currentValue);
                    }
                });
                java.lang.Thread.sleep(100);
            } catch (InterruptedException e) {
                JOptionPane.showMessageDialog(frame, e.getMessage());
            }
        }
 
    }
}


الاخراج :

إنشاء و تنسيق الوان العنصر JProgressBar  JProgressBar


مثال أخر لانشاء شريط تقدم افقى مع اظهار النسبة المؤية

الكود:
import java.awt.*;
import javax.swing.*;
 
public class Main {
 
    public static void main(String[] args) {
        final int MAX = 100;
        final JFrame frame = new JFrame("JProgress Demo");
 
        // إنشاء شريط التقديم
        final JProgressBar pb = new JProgressBar(SwingConstants.VERTICAL);
        // تحديد ادنى قيمة و اعلى قيمة لشريط التقدم
        pb.setMinimum(0);
        pb.setMaximum(MAX);
        
        // اظهار النسبة المؤية
        pb.setStringPainted(true);
 
        // إضافة شريط التقديم للنافذة
        frame.setLayout(new FlowLayout());
        frame.getContentPane().add(pb);
 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);
 
        // حلقة تكرارية لتحديث قيمة شريط التقديم
        for (int i = 0; i <= MAX; i++) {
            final int currentValue = i;
            try {
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        pb.setValue(currentValue);
                    }
                });
                java.lang.Thread.sleep(100);
            } catch (InterruptedException e) {
                JOptionPane.showMessageDialog(frame, e.getMessage());
            }
        }
 
    }
}

الاخراج :
إنشاء و تنسيق الوان العنصر JProgressBar  506126494

مثال اخر كتابة جملة و اظهارها على شريط التقدم

الكود:
import java.awt.*;
import javax.swing.*;
 
public class Main {
 
    public static void main(String[] args) {
        final int MAX = 100;
        final JFrame frame = new JFrame("JProgress Demo");
 
        // إنشاء شريط التقديم
        final JProgressBar pb = new JProgressBar();
        // تحديد ادنى قيمة و اعلى قيمة لشريط التقدم
        pb.setMinimum(0);
        pb.setMaximum(MAX);
        
        // اظهار النسبة المؤية
        pb.setStringPainted(true);
        
        // كتابة بعض الكلمات على شريط التقدم
         pb.setString( "loading started" );
 
        // إضافة شريط التقديم للنافذة
        frame.setLayout(new FlowLayout());
        frame.getContentPane().add(pb);
 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);
 
        // حلقة تكرارية لتحديث قيمة شريط التقديم
        for (int i = 0; i <= MAX; i++) {
            final int currentValue = i;
            try {
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        pb.setValue(currentValue);
                    }
                });
                java.lang.Thread.sleep(100);
            } catch (InterruptedException e) {
                JOptionPane.showMessageDialog(frame, e.getMessage());
            }
        }
 
    }
}

الاخراج

إنشاء و تنسيق الوان العنصر JProgressBar  752087591

مثال اخر يوضح كيفية تغير لون شريط التقدم

الكود:
import java.awt.*;
import javax.swing.*;
 
public class Main {
 
    public static void main(String[] args) {
    
    
        final int MAX = 100;
        final JFrame frame = new JFrame("JProgress Demo");
 
        // إنشاء شريط التقديم
        final JProgressBar pb = new JProgressBar();
        // تحديد ادنى قيمة و اعلى قيمة لشريط التقدم
        pb.setMinimum(0);
        pb.setMaximum(MAX);
        
        // اظهار النسبة المؤية
        pb.setStringPainted(true);
        
       // تغير لون شريط التقدم
        pb.setForeground(Color.red);
        
        // كتابة بعض الكلمات على شريط التقدم
         pb.setString( "loading started" );
 
        // إضافة شريط التقديم للنافذة
        frame.setLayout(new FlowLayout());
        frame.getContentPane().add(pb);
 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);
 
        // حلقة تكرارية لتحديث قيمة شريط التقديم
        for (int i = 0; i <= MAX; i++) {
            final int currentValue = i;
            try {
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                      
                        
                        pb.setValue(currentValue);
                    }
                });
                java.lang.Thread.sleep(100);
            } catch (InterruptedException e) {
                JOptionPane.showMessageDialog(frame, e.getMessage());
            }
        }
 
    }
}

الاخراج
إنشاء و تنسيق الوان العنصر JProgressBar  577414043

كما يمكنك استخدام UIManager لتنيسق أكثر شريط التقدم على النحو التالى :

الكود:
 UIManager.put("ProgressBar.background", Color.BLACK);
    UIManager.put("ProgressBar.foreground", Color.RED);
    UIManager.put("ProgressBar.selectionBackground", Color.YELLOW);
    UIManager.put("ProgressBar.selectionForeground", Color.BLUE);
زهراء
زهراء
........
........

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

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

إنشاء و تنسيق الوان العنصر JProgressBar  Empty رد: إنشاء و تنسيق الوان العنصر JProgressBar

مُساهمة من طرف أحمد مناع السبت ديسمبر 07, 2019 8:26 pm

إنشاء و تنسيق الوان العنصر JProgressBar  1f617  إنشاء و تنسيق الوان العنصر JProgressBar  1f617  إنشاء و تنسيق الوان العنصر JProgressBar  1f617

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

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

https://egy-tech.forumegypt.net

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

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

ََ

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


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