JavaFXطريقة إظهار Alert عند النقر على Button
المثال التالي يعلمك طريقة إظهار Alert عند النقر على Button.
كل Button موضوع يظهر Alert مختلف عند النقر عليه.
مثال
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.Group;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
public class Main extends Application {
@Override
public void start(Stage stage) {
// هنا قمنا بإنشاء جميع الأشياء التي سنضيفها في النافذة
Button button1 = new Button("Show Information Alert");
Button button2 = new Button("Show Warning Alert");
Button button3 = new Button("Show Error Alert");
Button button4 = new Button("Show Confirmation Alert");
// هنا قمنا بتحديد حجم الأشياء التي سنضيفها في النافذة
button1.setPrefSize(200, 30);
button2.setPrefSize(200, 30);
button3.setPrefSize(200, 30);
button4.setPrefSize(200, 30);
// هنا قمنا بتحديد مكان ظهور الأشياء التي سنضيفها في النافذة
button1.setTranslateX(100);
button1.setTranslateY(55);
button2.setTranslateX(100);
button2.setTranslateY(95);
button3.setTranslateX(100);
button3.setTranslateY(135);
button4.setTranslateX(100);
button4.setTranslateY(175);
// في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
Group root = new Group();
// root في الكائن slider هنا قمنا بإضافة الكائن
root.getChildren().add(button1);
root.getChildren().add(button2);
root.getChildren().add(button3);
root.getChildren().add(button4);
// فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
Scene scene = new Scene(root, 400, 250);
// هنا وضعنا عنوان للنافذة
stage.setTitle("JavaFX Alert");
// أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
stage.setScene(scene);
// هنا قمنا بإظهار النافذة
stage.show();
// button1 هنا قمنا بتحديد ماذا سيحدث عند النقر على الزر
button1.setOnAction((Action) -> {
// مع تحديد محتواه و من ثم قمنا بإظهاره INFORMATION حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
Alert alertInformation = new Alert(AlertType.INFORMATION);
alertInformation.setTitle("Information Alert Title");
alertInformation.setHeaderText("Information Alert Header");
alertInformation.setContentText("Information Alert Content \nWhich can appears on multi-line if needed");
alertInformation.showAndWait();
});
// button2 هنا قمنا بتحديد ماذا سيحدث عند النقر على الزر
button2.setOnAction((Action) -> {
// مع تحديد محتواه و من ثم قمنا بإظهاره WARNING حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
Alert alertWarning = new Alert(AlertType.WARNING);
alertWarning.setTitle("Warning Alert Title");
alertWarning.setHeaderText("Warning Alert Header");
alertWarning.setContentText("Warning Alert Content \nWhich can appears on multi-line if needed");
alertWarning.showAndWait();
});
// button3 هنا قمنا بتحديد ماذا سيحدث عند النقر على الزر
button3.setOnAction((Action) -> {
// مع تحديد محتواه و من ثم قمنا بإظهاره ERROR حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
Alert alertError = new Alert(AlertType.ERROR);
alertError.setTitle("Error Alert Title");
alertError.setHeaderText("Error Alert Header");
alertError.setContentText("Error Alert Content \nWhich can appears on multi-line if needed");
alertError.showAndWait();
});
// button4 هنا قمنا بتحديد ماذا سيحدث عند النقر على الزر
button4.setOnAction((Action) -> {
// مع تحديد محتواه و من ثم قمنا بإظهاره CONFIRMATION حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
Alert alertConfirmation = new Alert(AlertType.CONFIRMATION);
alertConfirmation.setTitle("Confirmation Alert Title");
alertConfirmation.setHeaderText("Confirmation Alert Header");
alertConfirmation.setContentText("Confirmation Alert Content \nWhich can appears on multi-line if needed");
alertConfirmation.showAndWait();
});
}
// هنا قمنا بتشغيل التطبيق
public static void main(String[] args) {
launch(args);
}
}
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.Group;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
public class Main extends Application {
@Override
public void start(Stage stage) {
// هنا قمنا بإنشاء جميع الأشياء التي سنضيفها في النافذة
Button button1 = new Button("Show Information Alert");
Button button2 = new Button("Show Warning Alert");
Button button3 = new Button("Show Error Alert");
Button button4 = new Button("Show Confirmation Alert");
// هنا قمنا بتحديد حجم الأشياء التي سنضيفها في النافذة
button1.setPrefSize(200, 30);
button2.setPrefSize(200, 30);
button3.setPrefSize(200, 30);
button4.setPrefSize(200, 30);
// هنا قمنا بتحديد مكان ظهور الأشياء التي سنضيفها في النافذة
button1.setTranslateX(100);
button1.setTranslateY(55);
button2.setTranslateX(100);
button2.setTranslateY(95);
button3.setTranslateX(100);
button3.setTranslateY(135);
button4.setTranslateX(100);
button4.setTranslateY(175);
// في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
Group root = new Group();
// root في الكائن slider هنا قمنا بإضافة الكائن
root.getChildren().add(button1);
root.getChildren().add(button2);
root.getChildren().add(button3);
root.getChildren().add(button4);
// فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
Scene scene = new Scene(root, 400, 250);
// هنا وضعنا عنوان للنافذة
stage.setTitle("JavaFX Alert");
// أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
stage.setScene(scene);
// هنا قمنا بإظهار النافذة
stage.show();
// button1 هنا قمنا بتحديد ماذا سيحدث عند النقر على الزر
button1.setOnAction((Action) -> {
// مع تحديد محتواه و من ثم قمنا بإظهاره INFORMATION حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
Alert alertInformation = new Alert(AlertType.INFORMATION);
alertInformation.setTitle("Information Alert Title");
alertInformation.setHeaderText("Information Alert Header");
alertInformation.setContentText("Information Alert Content \nWhich can appears on multi-line if needed");
alertInformation.showAndWait();
});
// button2 هنا قمنا بتحديد ماذا سيحدث عند النقر على الزر
button2.setOnAction((Action) -> {
// مع تحديد محتواه و من ثم قمنا بإظهاره WARNING حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
Alert alertWarning = new Alert(AlertType.WARNING);
alertWarning.setTitle("Warning Alert Title");
alertWarning.setHeaderText("Warning Alert Header");
alertWarning.setContentText("Warning Alert Content \nWhich can appears on multi-line if needed");
alertWarning.showAndWait();
});
// button3 هنا قمنا بتحديد ماذا سيحدث عند النقر على الزر
button3.setOnAction((Action) -> {
// مع تحديد محتواه و من ثم قمنا بإظهاره ERROR حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
Alert alertError = new Alert(AlertType.ERROR);
alertError.setTitle("Error Alert Title");
alertError.setHeaderText("Error Alert Header");
alertError.setContentText("Error Alert Content \nWhich can appears on multi-line if needed");
alertError.showAndWait();
});
// button4 هنا قمنا بتحديد ماذا سيحدث عند النقر على الزر
button4.setOnAction((Action) -> {
// مع تحديد محتواه و من ثم قمنا بإظهاره CONFIRMATION حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
Alert alertConfirmation = new Alert(AlertType.CONFIRMATION);
alertConfirmation.setTitle("Confirmation Alert Title");
alertConfirmation.setHeaderText("Confirmation Alert Header");
alertConfirmation.setContentText("Confirmation Alert Content \nWhich can appears on multi-line if needed");
alertConfirmation.showAndWait();
});
}
// هنا قمنا بتشغيل التطبيق
public static void main(String[] args) {
launch(args);
}
}
ستظهر لك النافذة التالية عند التشغيل.
كل زر يظهر Message Dialog مختلف في المحتوى و الأيقونة.