javafx Tutorial
Iniziare con javafx
Ricerca…
Osservazioni
JavaFX è una piattaforma software per la creazione e la distribuzione di applicazioni desktop, nonché applicazioni Internet ricche (RIA) che possono essere eseguite su un'ampia varietà di dispositivi. JavaFX è destinato a sostituire Swing come libreria GUI standard per Java SE.
L'IT consente agli sviluppatori di progettare, creare, testare, eseguire il debug e distribuire applicazioni rich client.
L'aspetto delle applicazioni JavaFX può essere personalizzato utilizzando Cascading Style Sheets (CSS) per lo stile (vedi JavaFX: CSS ) e (F) I file XML possono essere utilizzati per strutturare strutture che facilitano la creazione o lo sviluppo di un'applicazione (vedere FXML e controller ) . Scene Builder è un editor visuale che consente la creazione di file fxml per un'interfaccia utente senza scrivere codice.
Versioni
Versione | Data di rilascio |
---|---|
JavaFX 2 | 2011-10-10 |
JavaFX 8 | 2014/03/18 |
Installazione o configurazione
Le API JavaFX sono disponibili come funzionalità completamente integrata di Java SE Runtime Environment (JRE) e Java Development Kit (JDK). Poiché il JDK è disponibile per tutte le principali piattaforme desktop (Windows, Mac OS X e Linux), le applicazioni JavaFX compilate su JDK 7 e versioni successive vengono eseguite su tutte le principali piattaforme desktop. Il supporto per le piattaforme ARM è stato reso disponibile con JavaFX 8. JDK per ARM include i componenti base, grafici e di controllo di JavaFX.
Per installare JavaFX, installare la versione scelta dell'ambiente Java Runtime e del kit di sviluppo Java .
Le funzionalità offerte da JavaFX includono:
- API Java.
- FXML e Scene Builder.
- WebView.
- Interoperabilità Swing.
- Controlli dell'interfaccia utente e CSS incorporati.
- Tema modenese
- Funzionalità grafiche 3D.
- API Canvas.
- API di stampa.
- Supporto RTF.
- Supporto multitouch.
- Supporto Hi-DPI.
- Pipeline grafica con accelerazione hardware.
- Motore multimediale ad alte prestazioni.
- Modello di implementazione dell'applicazione autonomo.
Ciao programma mondiale
Il codice seguente crea una semplice interfaccia utente contenente un singolo Button
che stampa una String
sulla console al clic.
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);
}
}
La classe Application
è il punto di ingresso di ogni applicazione JavaFX. È possibile avviare una sola Application
e questo viene fatto utilizzando
Application.launch(HelloWorld.class, args);
Ciò crea un'istanza della classe Application
passata come parametro e avvia la piattaforma JavaFX.
Quanto segue è importante per il programmatore qui:
- Il primo
launch
crea una nuova istanza della classeApplication
(HelloWorld
in questo caso). La classeApplication
pertanto necessita di un costruttore no-arg. -
init()
viene chiamato sull'istanzaApplication
creata. In questo caso l'implementazione predefinita daApplication
non fa nulla. - viene chiamato
start
per l'istanzaAppication
e loStage
primario (= window) viene passato al metodo. Questo metodo viene automaticamente chiamato sul thread dell'applicazione JavaFX (thread della piattaforma). - L'applicazione viene eseguita fino a quando la piattaforma non determina il momento di spegnersi. Questo viene fatto quando l'ultima finestra è chiusa in questo caso.
- Il metodo
stop
è invocato sull'istanzaApplication
. In questo caso l'implementazione daApplication
non fa nulla. Questo metodo viene automaticamente chiamato sul thread dell'applicazione JavaFX (thread della piattaforma).
Nel metodo start
viene costruito il grafico della scena. In questo caso contiene 2 Node
: A Button
e StackPane
.
Il Button
rappresenta un pulsante nell'interfaccia utente e StackPane
è un contenitore per il Button
che ne determina il posizionamento.
Viene creata una Scene
per visualizzare questi Node
. Infine, la Scene
viene aggiunta allo Stage
che è la finestra che mostra l'intera interfaccia utente.