javafx Handledning
Komma igång med javafx
Sök…
Anmärkningar
JavaFX är en mjukvaruplattform för att skapa och leverera stationära applikationer, liksom rika internetapplikationer (RIA) som kan köras över en mängd olika enheter. JavaFX är avsett att ersätta Swing som standard GUI-bibliotek för Java SE.
IT gör det möjligt för utvecklare att designa, skapa, testa, felsöka och distribuera rika klientapplikationer.
Utseendet på JavaFX-applikationer kan anpassas med Cascading Style Sheets (CSS) för styling (se JavaFX: CSS ) och (F) XML-filer kan användas för att objektstrukturer som gör det enkelt att bygga eller utveckla ett program (se FXML och Controllers ) . Scene Builder är en visuell redigerare som tillåter skapandet av fxml-filer för ett användargränssnitt utan att skriva kod.
versioner
Version | Utgivningsdatum |
---|---|
JavaFX 2 | 2011-10-10 |
JavaFX 8 | 2014/03/18 |
Installation eller installation
JavaFX-API: erna är tillgängliga som en helt integrerad funktion i Java SE Runtime Environment (JRE) och Java Development Kit (JDK). Eftersom JDK är tillgängligt för alla större stationära plattformar (Windows, Mac OS X och Linux), körs JavaFX-applikationer kompilerade till JDK 7 och senare också på alla större stationära plattformar. Support för ARM-plattformar har också gjorts tillgängligt med JavaFX 8. JDK för ARM innehåller bas-, grafik- och kontrollkomponenterna i JavaFX.
För att installera JavaFX, installera din valda version av Java Runtime-miljön och Java-utvecklingspaketet .
Funktioner som erbjuds av JavaFX inkluderar:
- Java API: er.
- FXML och Scen Builder.
- WebView.
- Swing interoperabilitet.
- Inbyggda UI-kontroller och CSS.
- Modena tema.
- 3D-grafikfunktioner.
- Canvas API.
- Utskrifts-API.
- Support för rik text.
- Multitouch-stöd.
- Hej-DPI-stöd.
- Hårdvaruaccelererad grafikpipeline.
- Högpresterande mediemotor.
- Fristående modell för implementering av applikationer.
Hej världsprogram
Följande kod skapar ett enkelt användargränssnitt som innehåller en enda Button
som skriver ut en String
till konsolen vid klick.
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);
}
}
Application
är ingångspunkten för alla JavaFX-applikationer. Endast en Application
kan startas och detta görs med
Application.launch(HelloWorld.class, args);
Detta skapar en instans av Application
passeras som parameter och startar JavaFX-plattformen.
Följande är viktigt för programmeraren här:
- Första
launch
skapar en ny instans avApplication
(HelloWorld
i detta fall).Application
behöver därför en no-arg-konstruktör. -
init()
kallas på den skapadeApplication
. I detta fall gör standardimplementeringen frånApplication
ingenting. -
start
kallas förAppication
och det primäraStage
(= fönstret) överförs till metoden. Den här metoden kallas automatiskt på JavaFX Application thread (Platform thread). - Programmet körs tills plattformen bestämmer att det är dags att stänga av. Detta görs när det sista fönstret stängs i detta fall.
-
stop
anropas iApplication
. I detta fall gör implementeringen frånApplication
ingenting. Den här metoden kallas automatiskt på JavaFX Application thread (Platform thread).
I start
scenen graf konstrueras. I det här fallet innehåller det två Node
: En Button
och en StackPane
.
Button
representerar en knapp i användargränssnittet och StackPane
är en behållare för Button
som bestämmer dess placering.
En Scene
skapas för att visa dessa Node
. Slutligen Scene
läggs till Stage
som är det fönster som visar hela UI.