javafx Zelfstudie
Aan de slag met javafx
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:
- Java API's.
- FXML en Scene Builder.
- WebView.
- Swing-interoperabiliteit.
- Ingebouwde UI-besturingselementen en CSS.
- Modena-thema.
- 3D grafische functies.
- Canvas API.
- API afdrukken.
- Ondersteuning voor rich text.
- Multitouch-ondersteuning.
- Hi-DPI-ondersteuning.
- Hardware-versnelde grafische pijplijn.
- Hoogwaardige media-engine.
- 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:
- Eerste
launchmaakt een nieuw exemplaar van de klasseApplication(in dit gevalHelloWorld). De klasseApplicationdaarom een no-arg constructor nodig. -
init()wordt aangeroepen op de gemaakteApplicationinstantie. In dit geval doet de standaardimplementatie vanApplicationniets. -
startwordt aangeroepen voor de toepassingAppicationen de primaireStage(= venster) wordt doorgegeven aan de methode. Deze methode wordt automatisch aangeroepen op de JavaFX Application-thread (platformthread). - 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.
- De
stopwordt aangeroepen op deApplicationinstantie. In dit geval doet de implementatie vanuitApplicationniets. 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.