JavaFX-handledning: Hur skapar jag ett program?



Denna JavaFX-handledning ger en kort introduktion till JavaFX-plattformen, dess funktioner, dess arkitektur och hjälper dig att skapa din första JavaFX-applikation

JavaFX är en Java-plattform för att skapa rika internetapplikationer (RIA) som kan köras på ett stort antal enheter. Den är avsedd att ersätta Sväng i Java applikationer som ett GUI-ramverk. Det erbjuder också fler funktioner än Swing. JavaFX är nästa generations GUI-verktygslåda för . Låter intressant? I den här JavaFX-guiden kan vi utforska konceptet i detalj.

Vad är JavaFX? S

JavaFX är ett Java-bibliotek som används för att designa, skapa, testa och distribuera plattforms-GUI-applikationer och rika internetapplikationer (RIA) som kan köras över en mängd olika enheter.





  • Ett incitament att skapa JavaFX var att ersätta Swing. Dessutom är JavaFX mer konsekvent i sin design än Swing.
  • Den har fler funktioner och är också modernare, så att du kan utforma GUI med hjälp av layoutfiler (XML) och utforma dem med .
  • JavaFX integrerar också 2D + 3D-grafik, diagram, ljud, video och inbäddade webbapplikationer i en sammanhängande GUI-verktygslåda.

Notera: Rika internetapplikationer är de webbapplikationer som erbjuder liknande funktioner och erfarenheter som för stationära applikationer. De erbjuder bättre visuell upplevelse jämfört med de vanliga webbapplikationerna för användarna.

Nu när du är medveten om exakt JavaFX, kolla in arkitekturdelen av den i nästa del av denna JavaFX-handledning.



JavaFX-arkitektur

JavaFX har olika inbyggda komponenter som är sammankopplade med varandra. Den innehåller en rik uppsättning API: er som är mer än tillräckligt för att utveckla rika internetapplikationer som körs konsekvent över många plattformar. Följande illustration visar arkitekturen för JavaFX API.

Arkitektur - JavaFX-handledning - Edureka

Låt oss utforska var och en av dessa komponenter i detalj.



Scendiagram

Scen Graph är utgångspunkten för att konstruera en JavaFX-applikation. Det är en hierarkisk av noder som representerar alla de visuella elementen i applikationens användargränssnitt. Ett enda element i en scengraf kallas en nod. Varje nod är antingen en grennod eller en bladnod. Grennoder kan innehålla andra noder, som deras barn, men lövnoder innehåller inte andra noder. Den första noden i trädet kallas rotnod. En rotnod har ingen förälder.

Det finns olika klasser i javafx.scene paket som används för att skapa, modifiera och tillämpa vissa transformationer på noden.

Grafikmotor

JavaFX-grafikmotorn ger grafikstöd till scengrafkomponenten. Det stöder vanligtvis både 2D och 3D-grafik. Tillhandahåller även programvaruåtergivning när grafikhårdvaran som finns i systemet inte kan stödja hårdvaruaccelererad rendering.

De två grafikaccelererade rörledningarna i JavaFX är:

  • Prisma - Detär en högpresterande grafikhårdvaruaccelererad som kan återge både 2D- och 3D-grafik.
  • Quantum Toolkit -Den används för att binda ihop prisma och glasfönsterverktygssats och gör dem tillgängliga för ovanstående lager i stapeln.

Verktygssats för glasvinda

Det är ett plattformsberoende lager som ansluter JavaFX-plattformen till det inbyggda operativsystemet. Det tillhandahåller integrerade operativsystemtjänster som att hantera fönster, händelser, timers och ytor.

Media och webbmotor

  • Webmotor - Detär en webbläsarmotor som används för att bädda in innehåll till ett JavaFX-scendiagram.Den stöder HTML5, CSS, , DOM och SVG.
  • Media Engine - Dettillhandahåller verktyg för att skapa medieapplikationer som möjliggör uppspelning av media i skrivbordsfönstret eller på en webbsida på plattformar som stöds. JavaFX mediamotor är baserad på en öppen källkodsmotor som kallas a Banderoll . Den stöder uppspelning av video- och ljudinnehåll.

Dessa är dekomponenter som stöder JavaFX API. Nästa del av denna JavaFX-handledning handlar om JavaFX-applikationsstrukturen.

Anatomi av en JavaFX-applikation

JavaFX-applikationdelas hierarkiskt i tre huvudkomponenter: scen, scen och noder.

Skede

Det är huvudbehållaren och startpunkten för applikationen. Det representerar huvudfönstret och det skapade scenobjektet skickas som ett argument för Start() metod av Ansökan klass.Ett steg har två parametrar, Bredd, och Höjd, som bestämmer positionen nämligen.

Det finns fem typer av etapper tillgängliga och minus

  • Dekorerad
  • Odekorerad
  • Transparent
  • Enad
  • Verktyg

Du måste ringa till show() metod för att visa innehållet i en scen.

Scen

De scen är en behållare för scenens visuella innehåll. Den innehåller användargränssnittselementen, till exempel bildvyer, knappar, rutnät, textboxar. Javafx.scene.Scene klassav paketet javafx.scene tillhandahåller alla metoder för att hantera ett scenobjekt.Du kan skapa en scen genom att skapa Scen klassobjekt och skickar layoutobjektet till scenklasskonstruktören.

Scendiagram och noder

Det finns pålägsta nivån i hierarkin. A scengraf är en trädliknande datastruktur (hierarkisk) som representerar innehållet i en scen. Du kan tänka på det som samlingen av olika noder. I grund och botten. a nod är ett visuellt / grafiskt objekt i en scengraf.De Nod Förpackningens klass javafx.scene representerar en enda nod i JavaFX och denna klass är superklassen för alla noder.

Nu när du vetstruktur för ett JavaFX-program i detalj, låt oss lära oss hur man skapar ett JavaFX-program med ett exempel i denna JavaFX-handledning.

Skapa ett JavaFX-program

Låt oss kolla hur vi utför J avaFX programmering på IDE Eclipse. Det första du behöver göra är att installera e (fx) klipp plugin för Eclipse IDE. e (fx) klipp är en uppsättning verktyg och nödvändiga bibliotek som hjälper dig att utföra JavaFX-programmeringen.

Här skapar vi ett enkelt JavaFX-program som skrivs ut Välkommen till Edureka! på konsolen genom att klicka på knappen som visas på scenen.

paketapplikation 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 klass Main utökar applikationen {@Override public void start (Stage primaryStage) {Button btn = new Button () btn.setText ('Say' Welcome to Edureka! '') Btn.setOnAction (new EventHandler () {@Override public void handle ( ActionEvent-händelse) {System.out.println ('Välkommen till Edureka!')}}) StackPane rot = ny StackPane () root.getChildren (). Lägg till (btn) Scen scen = ny scen (root, 300, 250) primaryStage .setTitle ('Hello World!') primaryStage.setScene (scene) primaryStage.show ()} public static void main (String [] args) {launch (args)}}

Produktion:

Välkommen till Edureka!

JavaFX Application Exempel Programförklaring

Låt oss försöka förstå hur detta exempelprogram fungerar i enkla steg.

Steg 1: Förläng metoden javafx.application.Application och åsidosätt start ()

Som vi diskuterade tidigare, Start() metoden är startpunkten för JavaFX Application. Importera JavaFX.application.Application för att åsidosätta start () -metoden. Åsidosätt start () -metoden och ge den en oklassens bject javafx.stage.Stage.

@Override public void start (Stage primaryStage)

Steg 2: Skapa en knapp

Du kan skapa en knapp genom att omedelbart aktivera javafx.scene.control.Button klass. Importera därför relevant klass till kod. Skicka knappetiketttexten i knappklasskonstruktören.

hoppa i c ++
Knapp btn = ny knapp ()

Steg 3: Skapa en händelse för knappen

Detta exempelprogram skriver ut texten för en händelse på knappen. Så du måste skapa en händelse för knappen. Ring för detta ändamål setOnAction () på knappen och definiera en anonym klass Event Handler som en parameter för metoden.Definiera ett metodhandtag () i denna anonyma klass. Kolla in koden för handtag () -metoden.

btn.setText ('Say' Welcome to Edureka! '') btn.setOnAction (new EventHandler () {@Override public void handle (ActionEvent event) {System.out.println ('Welcome to Edureka!')}

Steg 4: Skapa en layout och lägg till knappen i den

JavaFX tillhandahåller vanligtvis ett antal layouter. Implementera en av dem för att visualisera widgetarna ordentligt. Du måste lägga till andra noder som knappar, texter etc. i denna layout.

StackPane-rot = ny StackPane () root.getChildren (). Lägg till (btn)

Steg 5: Skapa scenen

Scenen ligger på en högre nivå i hierarkin för JavaFx-applikationsstruktur. Så du måste lägga till din layout till scenen. Du kan skapa det direkt javafx.scene.Scene klass och skicka layoutobjektet till scenklasskonstruktören.

Scen scen = ny scen (root, 300, 250)

Steg 5: Förbered scenen

Scenen är huvudbehållaren och applikationens startpunkt. Använd metoder som erbjuds av javafx.stage.Stage klass för att ställa in några attribut för scenen.Använd metoden show () för att visa scenen. Här är koden till det.

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

Steg 6: Skapa huvudmetoden

I det sista steget skapar du en huvudmetod där du kommer att starta applikationen, dvs call launch () -metoden och skicka kommandoradsargumenten (args) till den.

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

Steg 7: Kör applikationen för att se utdata.

För att göra det mer intressant kan du ändra användargränssnittet för JavaFX-applikationen genom att använda en anpassad design på den som HTML och CSS.

Detta leder oss till slutet av dettaJavaFX-handledning. Vi gick igenom den interna strukturen i JavaFX-applikationen och lärde oss de viktigaste funktionerna i dess arkitektur, livscykel och komponenter. Vi kollade också ut hur man skapar en enkel GUI-applikation.

Se till att du tränar så mycket som möjligt och återgår till din upplevelse.

Kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Vi är här för att hjälpa dig med varje steg på din resa, för att bli en förutom de här Java-intervjufrågorna, kommer vi med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna JavaFX-handledning så återkommer vi till dig så snart som möjligt.