"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > زر

زر

تم النشر بتاريخ 2024-07-31
تصفح:891

زر هو عنصر تحكم يقوم بتشغيل حدث إجراء عند النقر عليه. يوفر JavaFX أزرارًا عادية وأزرار تبديل وأزرار خانة الاختيار وأزرار الاختيار. يتم تعريف الميزات المشتركة لهذه الأزرار في فئات ButtonBase وLabeled كما هو موضح في الشكل أدناه.

Image description

تحدد فئة Labeled الخصائص العامة للتسميات والأزرار. يشبه الزر تمامًا التسمية باستثناء أن الزر يحتوي على خاصية onAction المحددة في فئة ButtonBase، والتي تحدد معالجًا للتعامل مع إجراء الزر.

الكود أدناه يعطي برنامج يستخدم الأزرار للتحكم في حركة النص، كما هو موضح في الشكل أدناه.

package application;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.ImageView;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.text.Text;

public class ButtonDemo extends Application {
    protected Text text = new Text(50, 50, "JavaFX Programming");

    protected BorderPane getPane() {
        HBox paneForButtons = new HBox(20);
        Button btLeft = new Button("Left", new ImageView("file:/C:/Users/Paul/development/MyJavaFX/src/application/image/lo.jpg"));
        Button btRight = new Button("Right", new ImageView("file:/C:/Users/Paul/development/MyJavaFX/src/application/image/lo.jpg"));
        paneForButtons.getChildren().addAll(btLeft, btRight);
        paneForButtons.setAlignment(Pos.CENTER);
        paneForButtons.setStyle("-fx-border-color: green");

        BorderPane pane = new BorderPane();
        pane.setBottom(paneForButtons);

        Pane paneForText = new Pane();
        paneForText.getChildren().add(text);
        pane.setCenter(paneForText);

        btLeft.setOnAction(e -> text.setX(text.getX() - 10));
        btRight.setOnAction(e -> text.setX(text.getX()   10));

        return pane;
    }

    @Override // Override the start method in the Application class
    public void start(Stage primaryStage) {
        // Create a scene and place it in the stage
        Scene scene = new Scene(getPane(), 450, 200);
        primaryStage.setTitle("ButtonDemo"); // Set the stage title
        primaryStage.setScene(scene); // Place the scene in the stage
        primaryStage.show(); // Display the stage
    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}

Image description

يقوم البرنامج بإنشاء زرين btLeft و btRight مع كل زر يحتوي على نص وصورة (السطور 18-19). يتم وضع الأزرار في HBox (السطر 20) ويتم وضع HBox في الجزء السفلي من جزء الحدود (السطر 25). يتم إنشاء نص في السطر 14 ويتم وضعه في وسط جزء الحدود (السطر 29). يقوم معالج الإجراء لـ btLeft بنقل النص إلى اليسار (السطر 31). معالج الإجراء لـ btRight ينقل النص إلى اليمين (السطر 32).

يحدد البرنامج عمدا طريقة محمية getPane () لإرجاع جزء (السطر 16). سيتم تجاوز هذه الطريقة بواسطة الفئات الفرعية في الأمثلة القادمة لإضافة المزيد من العقد في الجزء. تم إعلان النص محميًا بحيث يمكن الوصول إليه بواسطة الفئات الفرعية (السطر 14).

بيان الافراج تم نشر هذه المقالة على: https://dev.to/paulike/button-4khg?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3