JavaFX Tutorial: Hvordan oprettes en applikation?



Denne JavaFX-tutorial giver en kort introduktion til JavaFX-platformen, dens funktioner, dens arkitektur og hjælper dig med at oprette din første JavaFX-applikation

JavaFX er en Java-platform til oprettelse af rige internetapplikationer (RIA'er), der kan køre på et stort udvalg af enheder. Det er beregnet til at erstatte Sving i Java applikationer som en GUI-ramme. Det tilbyder også flere funktioner end Swing. JavaFX er den næste generation af GUI-værktøjssæt til . Lyder interessant? Lad os i denne JavaFX-selvstudie udforske konceptet detaljeret.

Hvad er JavaFX? S

JavaFX er et Java-bibliotek, der bruges til at designe, oprette, teste og implementere GUI-applikationer på tværs af platforme og rige internetapplikationer (RIA'er), der kan køre på tværs af en lang række enheder.





  • Et incitament til at oprette JavaFX var at erstatte Swing. Desuden er JavaFX mere konsekvent i sit design end Swing.
  • Det har flere funktioner og er også mere moderne, så du kan designe GUI ved hjælp af layoutfiler (XML) og style dem med .
  • JavaFX integrerer også 2D + 3D-grafik, diagrammer, lyd, video og indlejrede webapplikationer i et sammenhængende GUI-værktøjssæt.

Bemærk: Rich Internet Applications er de webapplikationer, der tilbyder lignende funktioner og erfaring som desktop-applikationer. De giver bedre visuel oplevelse sammenlignet med de normale webapplikationer til brugerne.

Nu hvor du er opmærksom på, hvad JavaFX er, skal du tjekke arkitekturdelen af ​​den i den næste del af denne JavaFX-tutorial.



JavaFX-arkitektur

JavaFX har forskellige indbyggede komponenter, der er forbundet med hinanden. Den indeholder et rigt sæt API'er, der er mere end nok til at udvikle rige internetapplikationer, der kører konsekvent på tværs af mange platforme. Den følgende illustration viser arkitekturen for JavaFX API.

Arkitektur - JavaFX vejledning - Edureka

Lad os undersøge hver af disse komponenter i detaljer.



Scenegraf

Scene Graph er udgangspunktet for at konstruere en JavaFX-applikation. Det er en hierarkisk af noder, der repræsenterer alle de visuelle elementer i applikationens brugergrænseflade. Et enkelt element i en scenegraf kaldes en node. Hver knude er enten en grenknude eller en bladknude. Grenknudepunkter kan indeholde andre knudepunkter, ligesom deres børn, men bladknudepunkter indeholder ikke andre knudepunkter. Den første knude i træet kaldes rodknude. En rodknude har ikke en forælder.

Der er forskellige klasser til stede i javafx.scene pakke, der bruges til at oprette, ændre og anvende nogle transformationer på noden.

Grafikmotor

JavaFX-grafikmotoren leverer grafisk understøttelse til scenegrafkomponenten. Det understøtter generelt både 2D og 3D-grafik. Leverer også softwaregengivelse, når grafikhardwaren på systemet ikke er i stand til at understøtte hardwareaccelereret gengivelse.

De to grafikaccelererede rørledninger i JavaFX er:

  • Prisme - Deter en højtydende grafikhardwareaccelereret, der kan gengive både 2D- og 3D-grafik.
  • Quantum Toolkit -Det bruges til at binde prisme og glasvinduesværktøjssæt sammen og gør dem tilgængelige for ovenstående lag i stakken.

Værktøjssæt til glasvindue

Det er et platformafhængigt lag, der forbinder JavaFX-platformen til det oprindelige operativsystem. Det leverer native operativsystemtjenester såsom styring af windows, events, timere og overflader.

Media og webmotor

  • Webmotor - Deter en webbrowser-motor, der bruges til at integrere indhold til en JavaFX-scenediagram.Det understøtter HTML5, CSS, , DOM og SVG.
  • Media Engine - Detgiver værktøjer til at oprette medieapplikationer, der muliggør afspilning af medier i skrivebordsvinduet eller på en webside på understøttede platforme. JavaFX mediemotor er baseret på en open source-motor kendt som en Streamer . Det understøtter afspilning af video- og lydindhold.

Disse er dekomponenter, der understøtter JavaFX API. Næste del af denne JavaFX-tutorial handler om JavaFX-applikationsstrukturen.

Anatomi af et JavaFX-program

JavaFX-applikationer hierarkisk opdelt i tre hovedkomponenter: Stage, Scene og Nodes.

Scene

Det er hovedbeholderen og startpunktet for applikationen. Det repræsenterer hovedvinduet, og det oprettede sceneobjekt sendes som et argument for Start() metode til Ansøgning klasse.Et trin har to parametre, Bredde, og Højde, der bestemmer positionen nemlig.

Der er fem typer etaper tilgængelige og minus

  • Pyntet op
  • Uindrettet
  • Gennemsigtig
  • Forenet
  • Hjælpeprogram

Du skal ringe til at vise() metode til at vise indholdet af en scene.

Scene

Det scene er en container til scenens visuelle indhold. Det indeholder UI-elementer, såsom billedvisninger, knapper, gitre, tekstbokse. Javafx.scene. Scene klasseaf pakken javafx.scene giver alle metoderne til at håndtere et sceneobjekt.Du kan oprette en scene ved at oprette Scene klasseobjekt og videregive layoutobjektet til sceneklassekonstruktøren.

Scenegraf & knudepunkter

Det eksisterer veddet laveste niveau i hierarkiet. EN scene graf er en trelignende datastruktur (hierarkisk), der repræsenterer indholdet af en scene. Du kan tænke på det som samlingen af ​​forskellige noder. I bund og grund. -en knude er et visuelt / grafisk objekt i en scenegraf.Det Node Pakningens klasse javafx.scene repræsenterer en enkelt knude i JavaFX, og denne klasse er superklassen for alle knudepunkter.

måder at oprette singleton-klasse i java på

Nu hvor du kenderstruktur af en JavaFX-applikation i detaljer, lad os lære at oprette en JavaFX-applikation med et eksempel i denne JavaFX-tutorial.

Oprettelse af et JavaFX-program

Lad os se, hvordan vi udfører J avaFX programmering på IDE Eclipse. Den første ting, du skal gøre, er at installere e (fx) klipse plugin til Eclipse IDE. e (fx) klipse er et sæt værktøjer og nødvendige biblioteker, som hjælper dig med at udføre JavaFX programmering.

Her opretter vi et simpelt JavaFX-program, der udskrives Velkommen til Edureka! på konsollen ved at klikke på knappen vist på scenen.

pakke applikation import javafx.application.Application import javafx.event.ActionEvent import javafx.event.EventHandler import javafx.scene.Scene import javafx.scene.control.Button import javafx.scene.layout.StackPane import javafx.stage.Stage offentlig klasse Hovedudvider applikationen {@Override public void start (Stage primaryStage) {Button btn = new Button () btn.setText ('Say' Welcome to Edureka! '') Btn.setOnAction (new EventHandler () {@Override public ugyldigt håndtag ( ActionEvent-begivenhed) {System.out.println ('Velkommen til Edureka!')}}) StackPane-rod = ny StackPane () root.getChildren (). Tilføj (btn) Scene-scene = ny scene (root, 300, 250) primaryStage .setTitle ('Hello World!') primaryStage.setScene (scene) primaryStage.show ()} offentlig statisk ugyldig hoved (String [] args) {launch (args)}}

Produktion:

Velkommen til Edureka!

JavaFX-applikationseksempel Programforklaring

Lad os prøve at forstå, hvordan dette eksempelprogram fungerer i enkle trin.

Trin 1: Udvid javafx.application.Application og tilsidesæt start () -metoden

Som vi diskuterede tidligere, Start() metoden er startpunktet for JavaFX Application. Importere JavaFX.application.Application for at tilsidesætte start () -metoden. Tilsidesæt start () -metoden, og giv den en object af klassen javafx.stage.Stage.

@Override offentlig ugyldig start (Stage primaryStage)

Trin 2: Opret en knap

kald ved reference i c ++

Du kan oprette en knap ved at aktivere javafx.scene.control.Button klasse. Importér derfor den relevante klasse til kode. Videregiv tekst til knapetiketten i Button class-konstruktør.

Knap btn = ny knap ()

Trin 3: Opret en begivenhed til knappen

Dette eksempel applikation udskriver teksten til en begivenhed på knappen. Så du skal oprette en begivenhed til knappen. Ring til dette formål setOnAction () på knappen og definer en anonym klasse Event Handler som en parameter til metoden.Inde i denne anonyme klasse skal du definere et metodehåndtag (). Tjek koden til håndtaget () -metoden.

btn.setText ('Sig' Velkommen til Edureka! '') btn.setOnAction (ny EventHandler () {@Override offentlig ugyldig håndtag (ActionEvent begivenhed) {System.out.println ('Velkommen til Edureka!')}

Trin 4: Opret et layout, og tilføj knappen til det

JavaFX giver normalt et antal layouts. Implementer en af ​​dem for at visualisere widgets korrekt. Du skal tilføje andre noder som knapper, tekster osv. Til dette layout.

StackPane root = ny StackPane () root.getChildren (). Tilføj (btn)

Trin 5: Opret scenen

Scenen er på et højere niveau i hierarkiet i JavaFx-applikationsstruktur. Så du skal tilføje dit layout til scenen. Du kan oprette det øjeblikkeligt javafx.scene.Scene klasse og videregive layoutobjektet til sceneklassekonstruktøren.

Scene scene = ny scene (rod, 300, 250)

Trin 5: Forbered scenen

Scenen er hovedbeholderen og applikationens indgangssted. Brug metoder, der tilbydes af javafx.stage.Stage klasse for at indstille nogle attributter til scenen.Brug metoden show () til at vise scenen. Her er koden til det.

primaryStage.setTitle ('Hello World!') primaryStage.setScene (scene) primaryStage.show ()

Trin 6: Opret hovedmetoden

I det sidste trin skal du oprette en hovedmetode, hvor du starter applikationen, dvs. opkaldsstart () -metode og videresender kommandolinjeargumenterne (args) til den.

public static void main (String [] args) {launch (args)}

Trin 7: Kør applikationen for at se output.

For at gøre det mere interessant kan du ændre brugergrænsefladen til JavaFX-applikationen ved at anvende et brugerdefineret design til det som HTML og CSS.

Dette bringer os til slutningen af ​​detteJavaFX vejledning. Vi gennemgik den interne struktur i JavaFX-applikationen og lærte nøglefunktionerne i dens arkitektur, livscyklus og komponenter. Vi tjekkede også ud, hvordan man opretter en simpel GUI-applikation.

Sørg for at øve så meget som muligt, og vend din oplevelse tilbage.

Tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Vi er her for at hjælpe dig med hvert trin på din rejse, for at blive et ud over dette java-interviewspørgsmål, kommer vi med en læseplan, der er designet til studerende og fagfolk, der ønsker at være Java-udvikler.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne JavaFX-vejledning og vi vender tilbage til dig hurtigst muligt.