كيفية استدعاء الإطلاق () أكثر من مرة في Java
تم تصميم طريقة تشغيل تطبيق JavaFX، إطلاق ()، ليتم استدعاؤها مرة واحدة فقط لكل طلب. تؤدي محاولة استدعاء Launch() أكثر من مرة إلى حدوث خطأ "IllegalStateException".
الحل: التفاف إنشاء النافذة اللاحقة في Platform.runLater()
بدلاً من الاتصال Launch() عدة مرات، فكر في الطريقة التالية:مثال على الكود:
public class Wumpus extends Application {
private static final Insets SAFETY_ZONE = new Insets(10);
private Label cowerInFear = new Label();
private Stage mainStage;
@Override
public void start(final Stage stage) {
mainStage = stage;
mainStage.setAlwaysOnTop(true);
Platform.setImplicitExit(false);
cowerInFear.setPadding(SAFETY_ZONE);
cowerInFear.setOnMouseClicked(event -> Platform.exit());
stage.setScene(new Scene(cowerInFear));
}
public static void main(String[] args) {
launch(args);
// Another window can be created here by wrapping its creation
// and display in a Platform.runLater() block.
Platform.runLater(() -> {
Stage newStage = new Stage();
newStage.setScene(new Scene(new Label("Another Window")));
newStage.show();
});
}
}
ملاحظة:
توضح فئة Wumpus أعلاه النهج مع تطبيق JavaFX مخصص.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3