Swing طريقة وضع اللون الذي إختاره المستخدم كخلفية للـ Frame

المثال التالي يعلمك طريقة إظهار Color Chooser Dialog عند النقر على زر معين لإختيار الألوان.
اللون الذي يقوم المستخدم بإختياره سيتم وضعه كخلفية للـ Frame عند النقر على الزر Ok.
في كل مرة يقوم فيها المستخدم بإظهار الـ Color Chooser Dialog سيوضع لون خلفية الـ Frame كاللون الإفتراضي المختار فيه.


مثال

Main.java
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Color;
import javax.swing.JColorChooser;
 
public class Main {
 
    public static void main(String[] args) {
 
        JFrame frame = new JFrame("JColorChooser demo");          // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
        frame.setSize(400, 200);                                  // هنا قمنا بتحديد حجم النافذة. عرضها 400 و طولها 200
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
        frame.setLayout(null);                                    // في النافذة بنفسنا Buttons لذلك سنقوم بتحديد مكان الـ Layout Manager أي لم نستخدم أي null هنا وضعنا
 
        // frame و تحديد موقعه و حجمه بداخل الـ Button هنا قمنا بتعريف
        JButton button = new JButton("Change background color");
        button.setBounds(90, 70, 200, 30);
 
        // frame في الـ button هنا قمنا بوضع الـ
        frame.add(button);
 
        // مرئية frame هنا جعلنا الـ
        frame.setVisible(true);
 
 
        // button هنا قمنا بوضع الأوامر التي نريد تنفيذها عند النقر على الـ
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
 
                // frame فوق الـ Color Chooser Dialog سيتم إظهار الـ
                // كلون إفتراضي له frame سيتم وضع لون خلفية الـ
                // c في الكائن null بعد أن يتم إغلاقه سيتم تخزين اللون الذي إختاره المستخدم أو القيمة
                Color c = JColorChooser.showDialog(frame, "Color Picker", frame.getContentPane().getBackground());
 
                // frame سيتم وضع اللون الذي إختاره كخلفة للـ ok في حال قام المستخدم بالنقر على الزر
                if(c != null)
                    frame.getContentPane().setBackground(c);
 
            }
        });
 
 
    }
 
}
		

ستظهر لك النافذة التالية عند التشغيل.

أنقر على الزر Change background color لإظهار الـ Color Chooser Dialog.

طريقة وضع اللون الذي إختاره المستخدم كخلفية للـ frame في جافا

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة