[Hinweis] Szenenübergang mit JavaFX

Machen wir einen Szenenübergang mit JavaFX

Es ist der 22. Tag des CSG-Adventskalenders. Es ist das dritte Mal, jetzt, wo das Ende sichtbar ist, schreiben wir es diesmal noch einmal

Einführung

Für diejenigen, die JavaFX nicht mögen. .. .. JavaFX ist die Standard-GUI anstelle von SWING von JAVA8. Weitere Informationen finden Sie unter https://qiita.com/Kei_22/items/f54e6ba7cd4bf71b14c8, da andere Personen die Details wie die Einführung in den CSG-Adventskalender geschrieben haben.

Dann die Hauptgeschichte

・ Importieren Sie zunächst verschiedene Dinge

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.AnchorPane;

・ Erstellen Sie eine Szene


public class Main extends Application{
  //Erklärung der Szene
  public static Scene scene1 = null;
  public static Scene scene2 = null;

Szene1 ist die erste Szene und Szene2 ist die Szene nach der Änderung.

・ Beim Start

@Override
  public void start(Stage stage)throws Exception {

  stage.setTitle("HelloJavaFX");
  stage.setHeight(200);
  stage.setWidth(150);
  //Eine Bühne schaffen
  initScene1(stage);
  initScene2(stage);

  stage.setScene(scene1);
  stage.show();
  }

Erstellen Sie eine Szenen-GUI mit initScene1 und initScene2. Und zuerst setze Szene1. Bitte mögen Sie den Titelbildschirm hier

・ In initScene1

  public static void initScene1(Stage stage) {
    AnchorPane root = new AnchorPane();
    scene1 = new Scene(root);

    Button btn = new Button("Szenenwechsel");
    btn.setPrefWidth(100);
    btn.setPrefHeight(50);
    btn.setOnMouseClicked(event -> setScene(stage,scene2));


    root.getChildren().add(btn);
  }

Diesmal habe ich nur die Taste platziert, da sich die Szene ändert, wenn ich die Taste drücke. Rufen Sie die setScene-Methode mit setOnMouseClicked auf. Die setScene-Methode wird später definiert.

・ In initScene2

  public static void initScene2(Stage stage) {
    AnchorPane root = new AnchorPane();
    scene2 = new Scene(root);

    Label lbl = new Label("Szenenübergang abgeschlossen!");

    root.getChildren().add(lbl);
  }

Wir haben ein Label vorbereitet, um zu zeigen, dass sich die Szene geändert hat.

・ In setScene

public static void setScene(Stage stage,Scene changeScene) {
    stage.setScene(changeScene);
    stage.show();
  }
}

Stellen Sie die gesendete Szene als Argument ein und vervollständigen Sie! Vergessen Sie nicht die ganze schließende Klammer

Wie es sich anfühlt

Es ist nicht schlecht, weil es angebracht ist, das Teil vorzustellen. .. .. Dies ist der erste Bildschirm ↓ スクリーンショット 2018-08-27 21.56.32.png

Und dies ist der Bildschirm nach dem Drücken der Taste ↓ スクリーンショット 2018-08-27 21.56.40.png

Dies ist der Szenenübergang. .. .. Na ah ah! !! !! !! !! !! !! !! !! !! !! !! !! !! !!

Überblick

Ich werde Ihnen das Skript zeigen, das sofort in kleine Teile geteilt wurde

Main.java


import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.application.Application;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.AnchorPane;

public class Main extends Application{
  //Erklärung der Szene
  public static Scene scene1 = null;
  public static Scene scene2 = null;

  @Override
  public void start(Stage stage)throws Exception {

  stage.setTitle("HelloJavaFX");
  stage.setHeight(200);
  stage.setWidth(150);
  //Eine Bühne schaffen
  initScene1(stage);
  initScene2(stage);

  stage.setScene(scene1);
  stage.show();
  }

  public static void initScene1(Stage stage) {
    AnchorPane root = new AnchorPane();
    scene1 = new Scene(root);

    Button btn = new Button("Szenenwechsel");
    btn.setPrefWidth(100);
    btn.setPrefHeight(50);
    btn.setOnMouseClicked(event -> setScene(stage,scene2));


    root.getChildren().add(btn);
  }
  public static void initScene2(Stage stage) {
    AnchorPane root = new AnchorPane();
    scene2 = new Scene(root);

    Label lbl = new Label("Erfolgreicher Szenenwechsel!");

    root.getChildren().add(lbl);
  }
  public static  void setScene(Stage stage,Scene changeScene) {
    stage.setScene(changeScene);
    stage.show();
  }
}

Am Ende

*** Weil es wenig Informationen zu JavaFX gibt! !! !! Jedermann! !! !! Lass uns schreiben! !! !! !! !! !! !! !! !! !! Machen wir das! !! !! !! !! !! !! !! !! *** *** Dies ist ein Memorandum über den Szenenübergang.

Recommended Posts

[Hinweis] Szenenübergang mit JavaFX
HelloFX mit JavaFX
JavaFX8-Bildschirmübergang
Frohe Weihnachten mit JavaFX !!
Beispiel zum Erstellen einer GUI-Anwendung mit JavaFX + IntelliJ + Scene Builder
Lernen von Java mit Progate Note 1
Bildschirmübergang mit Swing, Java
Ausgabezeichen wie Konversation mit JavaFX
Erstellen Sie mit JavaFX ein Diashow-Tool
[Java] Mit Arrays.asList () zu beachtende Punkte
Hallo Welt mit Kotlin und JavaFX
Ziehen Sie Dateien mit JavaFX per Drag & Drop