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

تعلم JavaFx ..مقال21_ واجهة المستخدم الرسومية _الكلاس ColorPicker

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

تعلم JavaFx ..مقال21_ واجهة المستخدم الرسومية _الكلاس ColorPicker Empty تعلم JavaFx ..مقال21_ واجهة المستخدم الرسومية _الكلاس ColorPicker

مُساهمة من طرف زهراء الجمعة أكتوبر 19, 2018 2:51 pm

أهلا بكم

الكلاس ColorPicker يستخدم للحصول على ComboBox خاص لإختيار الألوان (Color Chooser), حيث تجد أنه بمجرد النقر على الزر سيظهر أمامك عدة خيارات تتيح لك إختيار أي لون تريد بكل سهولة.

الآن, إذا قمت بإنشاء كائن من الكلاس ColorPicker و أضفته في النافذة فإنه سيظهر كـ ComboBox فيه مربع صغير لونه أبيض و بجانبه كلمة White و التي يعني أبيض باللغة الإنجليزية.
تعلم JavaFx ..مقال21_ واجهة المستخدم الرسومية _الكلاس ColorPicker Colorpicker

بمجرد أن تنقر على الـ ColorPicker سيظهر تحته قائمة خاصة لإختيار الألوان (Palette).

تعلم JavaFx ..مقال21_ واجهة المستخدم الرسومية _الكلاس ColorPicker Palette

في حال لم تعجبك الألوان التي في (Palette) يمكنك النقر على الزر Custom Color... لإظهار نافذة مخصصة لإختيار درجة اللون (Custom Color Dialog Window).

تعلم JavaFx ..مقال21_ واجهة المستخدم الرسومية _الكلاس ColorPicker Colorpicker-hsb-rgb-web-panes


بعد إختيار اللون الذي تريده من هذه النافذة, عندك ثلاث خيارات:


  • النقر على الزر Use لإختيار اللون.
  • النقر على الزر Save في حال أردت حفظ اللون مع الألوان الموجودة في الـ (Palette).
  • النقر على الزر Cancel لإغلاق النافذة.


أهم الكونستركتورات الموجودة في الكلاس ColorPicker.

الكود:
public ColorPicker(Color color)

ينشئ كائن من الكلاس ColorPicker يمثل ComboBox مخصص لإختيار الألوان, مع تحديد اللون الذي سيظهر مختاراً فيه بشكل إفتراضي.
مكان الباراميتر color نضع كائن من الكلاس Color يمثل اللون الذي سيكون مختاراً بشكل إفتراضي.

أهم دوال الكلاس ColorPicker


  • الدالة Color getValue() : رجع اللون المختار في كائن الـ ColorPicker الذي قام باستدعائها ككائن من الكلاس Color.
  • الدالة setValue(Color color) : تستخدم لتحديد اللون الحالي في كائن الـ ColorPicker الذي باستدعائها.مكان البارميتر color نضع كائن من الكلاس Color يمثل اللون الذي سيتم إختياره.


كيفية إنشاءه برمجيا 

يتم إنشاءة على النحو التالى :

1_إستيراد المكتبة التى تحتوى على عناصر واجهة المستخدام الرسومية وتحدديد الكلاس ColorPicker

الكود:
import javafx.scene.control.ColorPicker;

2_إنشاء كائن جديد من الكلاس ColorPicker يمثل قائمة الألوان التي نريد إضافتها في النافذة

الكود:
 ColorPicker colorPicker = new ColorPicker();


و المثال الكامل التالي يعلمك طريقة إنشاء كائن من الكلاس ColorPicker و إضافته في النافذة. :

الكود:
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ColorPicker;
import javafx.stage.Stage;
 
public class Main extends Application {
 
    @Override
    public void start(Stage stage) {

        // يمثل قائمة الألوان التي نريد إضافتها في النافذة ColorPicker هنا قمنا بإنشاء كائن من الكلاس
        ColorPicker colorPicker = new ColorPicker();
 
        // في النافذة colorPicker هنا قمنا بتحديد مكان ظهور الكائن
        colorPicker.setTranslateX(150);
        colorPicker.setTranslateY(40);
 
        // في النافذة colorPicker هنا قمنا بتحديد حجم الـ
        colorPicker.setPrefSize(100, 30);
 
        // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
        Group root = new Group();
 
        // list و بالتالي أصبح أي شيء نريد إضافته نضيفه في الكائن list مرتبط بالكائن root هنا جعلنا الكائن
        ObservableList list = root.getChildren();
 
        // group و الذي بدوره سيضاف أيضاً في الكائن list في الكائن colorPicker هنا قمنا بإضافة الكائن
        list.add(colorPicker);
 
        // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
        Scene scene = new Scene(root, 400, 350);
 
        // هنا وضعنا عنوان للنافذة
        stage.setTitle("JavaFX ColorPicker");
 
        // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
        stage.setScene(scene);
 
        // هنا قمنا بإظهار النافذة
        stage.show();
        
        // colorPicker هنا قمنا بتحديد ما سيحدث عند تغيير قيمة الكائن
        colorPicker.setOnAction((ActionEvent e) -> {
            // أي للنافذة ,scene هنا قلنا أنه سيتم جلب قيمته و وضعها مباشرةً كلون خلفية للكائن
            scene.setFill(colorPicker.getValue());
        });
    }
 
    // هنا قمنا بتشغيل التطبيق
    public static void main(String[] args) {
        launch(args);
    }
 
}

و النتيجة على النحو التالى :

تعلم JavaFx ..مقال21_ واجهة المستخدم الرسومية _الكلاس ColorPicker Example-3
زهراء
زهراء
........
........

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

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

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

ََ

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


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