Zoeken…


Opmerkingen

JavaFX is een softwareplatform voor het maken en leveren van desktop-applicaties, evenals rich internet-applicaties (RIA's) die op een breed scala aan apparaten kunnen worden uitgevoerd. JavaFX is bedoeld om Swing te vervangen als de standaard GUI-bibliotheek voor Java SE.

IT stelt ontwikkelaars in staat om rijke client-applicaties te ontwerpen, maken, testen, debuggen en implementeren.

Het uiterlijk van JavaFX-applicaties kan worden aangepast met behulp van Cascading Style Sheets (CSS) voor styling (zie JavaFX: CSS ) en (F) XML-bestanden kunnen worden gebruikt om structuren te objecteren waardoor het eenvoudig is om een applicatie te bouwen of te ontwikkelen (zie FXML en Controllers ) . Scene Builder is een visuele editor waarmee fxml-bestanden voor een gebruikersinterface kunnen worden gemaakt zonder code te schrijven.

versies

Versie Publicatiedatum
JavaFX 2 2011-10-10
JavaFX 8 2014/03/18

Installatie of instellingen

De JavaFX API's zijn beschikbaar als een volledig geïntegreerde functie van de Java SE Runtime Environment (JRE) en de Java Development Kit (JDK). Omdat de JDK beschikbaar is voor alle belangrijke desktopplatforms (Windows, Mac OS X en Linux), werken JavaFX-applicaties die zijn gecompileerd naar JDK 7 en later ook op alle belangrijke desktopplatforms. Ondersteuning voor ARM-platforms is ook beschikbaar gemaakt met JavaFX 8. JDK voor ARM bevat de basis-, grafische en besturingscomponenten van JavaFX.

Om JavaFX te installeren, installeert u de door u gekozen versie van de Java Runtime-omgeving en de Java Development-kit .

Functies aangeboden door JavaFX zijn onder meer:

  1. Java API's.
  2. FXML en Scene Builder.
  3. WebView.
  4. Swing-interoperabiliteit.
  5. Ingebouwde UI-besturingselementen en CSS.
  6. Modena-thema.
  7. 3D grafische functies.
  8. Canvas API.
  9. API afdrukken.
  10. Ondersteuning voor rich text.
  11. Multitouch-ondersteuning.
  12. Hi-DPI-ondersteuning.
  13. Hardware-versnelde grafische pijplijn.
  14. Hoogwaardige media-engine.
  15. Zelfstandig toepassingsimplementatiemodel.

Hallo wereld programma

De volgende code maakt een eenvoudige gebruikersinterface met een enkele Button die bij het klikken een String naar de console afdrukt.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloWorld extends Application {

    @Override
    public void start(Stage primaryStage) {
        // create a button with specified text
        Button button = new Button("Say 'Hello World'");

        // set a handler that is executed when the user activates the button
        // e.g. by clicking it or pressing enter while it's focused
        button.setOnAction(e -> {
           //Open information dialog that says hello
           Alert alert = new Alert(AlertType.INFORMATION, "Hello World!?");
           alert.showAndWait();
        });

        // the root of the scene shown in the main window
        StackPane root = new StackPane();

        // add button as child of the root
        root.getChildren().add(button);

        // create a scene specifying the root and the size
        Scene scene = new Scene(root, 500, 300);

        // add scene to the stage
        primaryStage.setScene(scene);

        // make the stage visible
        primaryStage.show();
    }

    public static void main(String[] args) {
        // launch the HelloWorld application.

        // Since this method is a member of the HelloWorld class the first
        // parameter is not required
        Application.launch(HelloWorld.class, args);
    }

}

De Application is het toegangspunt van elke JavaFX-toepassing. Er kan slechts één Application worden gestart en dit wordt gedaan met behulp van

Application.launch(HelloWorld.class, args);

Dit maakt een instantie van de Application klasse die als parameter is doorgegeven en start het JavaFX-platform.

Het volgende is belangrijk voor de programmeur hier:

  1. Eerste launch maakt een nieuw exemplaar van de klasse Application (in dit geval HelloWorld ). De klasse Application daarom een no-arg constructor nodig.
  2. init() wordt aangeroepen op de gemaakte Application instantie. In dit geval doet de standaardimplementatie van Application niets.
  3. start wordt aangeroepen voor de toepassing Appication en de primaire Stage (= venster) wordt doorgegeven aan de methode. Deze methode wordt automatisch aangeroepen op de JavaFX Application-thread (platformthread).
  4. De applicatie wordt uitgevoerd totdat het platform bepaalt dat het tijd is om af te sluiten. Dit gebeurt wanneer het laatste venster in dit geval wordt gesloten.
  5. De stop wordt aangeroepen op de Application instantie. In dit geval doet de implementatie vanuit Application niets. Deze methode wordt automatisch aangeroepen op de JavaFX Application-thread (platformthread).

Bij de start methode de scène grafiek is opgebouwd. In dit geval bevat het 2 Node s: een Button en een StackPane .

De Button vertegenwoordigt een knop in de gebruikersinterface en het StackPane is een container voor de Button die de plaatsing ervan bepaalt.

Er wordt een Scene gemaakt om deze Node weer te geven. Ten slotte wordt de Scene aan het Stage toegevoegd. Dit is het venster dat de hele gebruikersinterface toont.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow