JavaFX Tutorial: Paano lumikha ng isang application?



Ang tutorial na JavaFX ay nagbibigay ng isang maikling pagpapakilala sa JavaFX platform, mga tampok nito, ang arkitektura nito at makakatulong sa iyo na lumikha ng iyong unang application ng JavaFX

Ang JavaFX ay isang platform ng Java para sa paglikha ng mayamang mga aplikasyon sa internet (RIAs) na maaaring tumakbo sa isang iba't ibang mga aparato. Ito ay inilaan upang palitan Swing sa Java mga application bilang isang framework ng GUI. Gayundin, nag-aalok ito ng higit na pag-andar kaysa sa Swing. Ang JavaFX ay ang susunod na henerasyon na toolkit ng GUI para sa . Tunog kagiliw-giliw? Sa tutorial na JavaFX na ito, tuklasin natin nang detalyado ang konsepto.

Ano ang JavaFX? S

Ang JavaFX ay isang silid-aklatan ng Java na ginagamit para sa pagdidisenyo, paglikha, pagsubok at pag-deploy ng mga cross-platform na mga aplikasyon ng GUI at mga rich internet application (RIAs) na maaaring tumakbo sa iba't ibang mga aparato.





  • Ang isang insentibo upang lumikha ng JavaFX ay upang palitan ang Swing. Bukod dito, ang JavaFX ay mas pare-pareho sa disenyo nito kaysa sa Swing.
  • Mayroon itong higit pang mga tampok at mas moderno rin, na nagbibigay-daan sa iyo upang magdisenyo ng GUI gamit ang mga layout file (XML) at i-istilo ang mga ito .
  • Isinasama din ng JavaFX ang 2D + 3D graphics, tsart, audio, video, at naka-embed na mga aplikasyon ng web sa isang magkakaugnay na toolkit ng GUI.

Tandaan: Ang mga Rich Internet Application ay ang mga web application na nag-aalok ng mga katulad na tampok at karanasan tulad ng mga desktop application. Nag-aalok sila ng mas mahusay na karanasan sa visual kung ihinahambing sa normal na mga application ng web sa mga gumagamit.

Ngayon na alam mo kung ano ang eksaktong JavaFX, tingnan ang bahagi ng arkitektura nito sa susunod na bahagi ng tutorial na JavaFX na ito.



Arkitektura ng JavaFX

Ang JavaFX ay may iba't ibang mga built-in na bahagi na magkakaugnay sa bawat isa. Naglalaman ito ng isang mayamang hanay ng mga API na higit sa sapat upang makabuo ng mga mayamang application sa internet na patuloy na tumatakbo sa maraming mga platform. Ipinapakita ng sumusunod na ilustrasyon ang arkitektura ng JavaFX API.

Arkitektura - JavaFX Tutorial - Edureka

kung paano makuha ang haba ng isang array sa javascript

Tuklasin natin ang bawat isa sa mga sangkap na ito nang detalyado.



Scene Graph

Ang Scene Graph ay ang panimulang punto ng pagbuo ng isang application na JavaFX. Ito ay isang hierarchical ng mga node na kumakatawan sa lahat ng mga visual na elemento ng interface ng gumagamit ng application. Ang isang solong elemento sa isang graph ng eksena ay tinatawag na isang node. Ang bawat node ay alinman sa isang branch node o isang leaf node. Ang mga node ng sangay ay maaaring maglaman ng iba pang mga node, tulad ng kanilang mga anak ngunit ang mga Leaf node ay hindi naglalaman ng iba pang mga node. Ang unang node sa puno ay tinawag na ugat node Ang isang root node ay walang magulang.

Mayroong iba't ibang mga klase na naroroon sa javafx.scene pakete na ginagamit para sa paglikha, pagbabago at paglalapat ng ilang mga pagbabago sa node.

Engine ng Graphics

Nagbibigay ang engine ng JavaFX graphics ng suporta sa graphics sa bahagi ng graphic na eksena. Sa pangkalahatan ay sinusuportahan nito ang 2D pati na rin ang 3D graphics pareho. Nagbibigay din ang pag-render ng software kapag ang graphics hardware na naroroon sa system ay hindi suportado ang pag-render ng pinabilis ng hardware.

Ang dalawang graphics na pinabilis ang mga pipeline sa JavaFX ay:

  • Prism - Itoay isang mataas na pagganap na graphics na pinabilis ng hardware na maaaring mag-render ng parehong 2D at 3D graphics.
  • Quantum Toolkit -Ginagamit ito upang itali ang prisma at baso ng tool na tooling ng windowing magkasama at ginawang magagamit ang mga ito para sa mga layer sa itaas sa stack.

Glass Windowing Toolkit

Ito ay isang layer na umaasa sa platform na kumokonekta sa platform ng JavaFX sa katutubong operating system. Nagbibigay ito ng mga serbisyo ng katutubong operating system tulad ng pamamahala ng mga bintana, kaganapan, timer, at mga ibabaw.

Media at Web Engine

  • Web Engine - Itoay isang web browser engine na ginamit upang i-embed ang nilalaman sa isang graph ng eksena ng JavaFX.Sinusuportahan nito ang HTML5, CSS, , DOM, at SVG.
  • Media Engine - Itonagbibigay ng mga tool upang lumikha ng mga application ng media na nagbibigay-daan sa pag-playback ng media sa window ng desktop o sa loob ng isang web page sa mga suportadong platform. JavaFX makina ng media ay batay sa isang open-source engine na kilala bilang a Streamer . Sinusuportahan nito ang pag-playback ng nilalamang video at audio.

Ito ang mgamga sangkap na sumusuporta sa JavaFX API. Susunod na bahagi ng tutorial na JavaFX na ito ay tungkol sa istraktura ng application ng JavaFX.

Anatomy ng isang Application ng JavaFX

Application ng JavaFXay nahahati sa hierarchically sa tatlong pangunahing sangkap: Stage, Scene, at Nodes.

Yugto

Ito ang pangunahing lalagyan at ang entry point ng application. Kinakatawan nito ang pangunahing window at ang nilikha na object ng entablado ay naipasa bilang isang argument ng simulan () paraan ng Paglalapat klaseAng isang yugto ay may dalawang mga parameter, Lapad, at Taas, na tumutukoy sa posisyon na katulad.

Mayroong limang uri ng mga yugto na magagamit at minus

  • Pinalamutian
  • Undecorated
  • Transparent
  • Pinag-isa
  • Kagamitan

Kailangan mong tawagan ang ipakita () pamamaraan upang maipakita ang mga nilalaman ng isang yugto.

Eksena

Ang eksena ay isang lalagyan para sa visual na nilalaman ng entablado. Hawak nito ang mga elemento ng UI, tulad ng Mga Pagtingin sa Imahe, Mga Pindutan, Grid, TextBoxes. Javafx.scene.Scene klaseng package javafx.scene nagbibigay ng lahat ng mga pamamaraan upang harapin ang isang object ng eksena.Maaari kang lumikha ng isang eksena sa pamamagitan ng paglikha ng Eksena object ng klase at ipinapasa ang object ng layout sa tagabuo ng klase ng Eksena.

Scene Graph & Nodes

Ito ay umiiral sapinakamababang antas ng hierarchy. A graph ng eksena ay isang mala-puno na istraktura ng data (hierarchical) na kumakatawan sa mga nilalaman ng isang eksena. Maaari mong isipin ito bilang koleksyon ng iba't ibang mga node. Karaniwan. a node ay isang visual / graphic na bagay ng isang graphic na eksena.Ang Node Klase ng package javafx.scene kumakatawan sa isang solong node sa JavaFX at ang klase na ito ay ang superclass ng lahat ng mga node.

Ngayong alam mo na angistraktura ng isang application na JavaFX nang detalyado, alamin natin kung paano lumikha ng isang application na JavaFX na may isang halimbawa sa tutorial na JavaFX na ito.

Lumilikha ng isang Application ng JavaFX

Suriin natin kung paano maisagawa ang J avaFX programa sa IDE Eclipse. Ang unang bagay na kailangan mong gawin ay ang pag-install e (fx) clipse plugin para sa Eclipse IDE. e (fx) clipse ay isang hanay ng mga tool at kinakailangang aklatan na makakatulong sa iyo upang maisagawa ang programang JavaFX.

Dito, lumilikha kami ng isang simpleng application ng JavaFX na naglilimbag Maligayang pagdating sa Edureka! sa console sa pag-click sa pindutan na ipinapakita sa entablado.

application ng pag-import ng 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 public class Pangunahing pinalawak ang Application {@Override public void start (Stage primaryStage) {Button btn = new Button () btn.setText ('Say' Welcome to Edureka! '') Btn.setOnAction (bagong EventHandler () {@Orride public void handle ( Kaganapan ng ActionEvent) {System.out.println ('Maligayang Pagdating sa Edureka!')}}) StackPane root = bagong StackPane () root.getCh Children (). Magdagdag (btn) Scene scene = bagong Scene (root, 300, 250) pangunahingStage .setTitle ('Hello World!') pangunahingStage.setScene (eksena) primaryStage.show ()} pampublikong static void main (String [] args) {launch (args)}}

Output:

Maligayang pagdating sa Edureka!

JavaFX Application Halimbawa ng Paliwanag ng Program

Subukan nating maunawaan kung paano gumagana ang halimbawang program na ito sa mga simpleng hakbang.

Hakbang1: Palawakin ang javafx.application. Paglalapat at pag-override na pagsisimula () na pamamaraan

Tulad ng tinalakay natin kanina, simulan () Ang pamamaraan ay ang panimulang punto ng Application ng JavaFX. Angkat JavaFX.aplay. Application upang ma-override ang pagsisimula () na pamamaraan. Override ang pagsisimula () na pamamaraan at ipasa ito sa isang object ng klase javafx.stage.Spage.

@Orride public void start (Stage primaryStage)

Hakbang2: Lumikha ng isang Button

Maaari kang lumikha ng isang pindutan sa pamamagitan ng pag-instantiate ng javafx.scene.control Button klase Samakatuwid, i-import ang may-katuturang klase sa code. Ipasa ang teksto ng label na pindutan sa tagabuo ng klase ng butones.

Button btn = bagong Button ()

Hakbang3: Lumikha ng isang kaganapan para sa pindutan

ano ang sqoop sa hadoop

Ang halimbawang application na ito ay naglilimbag ng teksto para sa isang kaganapan sa pindutan. Kaya, kailangan mong lumikha ng isang kaganapan para sa pindutan. Para sa hangaring ito, tumawag setOnAction () sa pindutan at tukuyin ang isang hindi nagpapakilalang klase ng Handler ng Kaganapan bilang isang parameter sa pamamaraan.Sa loob ng hindi nagpapakilalang klase na ito, tukuyin ang isang hawakan ng pamamaraan (). Suriin ang code para sa paraan ng hawakan ().

btn.setText ('Say' Welcome to Edureka! '') btn.setOnAction (bagong EventHandler () {@Override public void handle (EventEvent event) {System.out.println ('Maligayang Pagdating sa Edureka!')}

Hakbang4: Lumikha ng isang layout at idagdag ang pindutan dito

Karaniwang nagbibigay ang JavaFX ng isang bilang ng mga layout. Ipatupad ang isa sa mga ito upang mailarawan nang maayos ang mga widget. Kailangan mong magdagdag ng iba pang mga node tulad ng mga pindutan, teksto, atbp sa layout na ito.

Root ng StackPane = bagong StackPane () root.getChapters (). Idagdag (btn)

Hakbang5: Lumikha ng eksena

Ang eksena ay nasa isang mas mataas na antas sa hierarchy ng istraktura ng application ng JavaFx. Kaya, kailangan mong idagdag ang iyong layout sa eksena. Maaari mo itong likhain javafx.scene.Scene klase at ipasa ang object ng layout sa tagabuo ng klase ng eksena.

Scene scene = bagong Eksena (ugat, 300, 250)

Hakbang5: Ihanda ang entablado

Ang yugto ay ang pangunahing lalagyan at ang entry point ng application. Gumamit ng mga pamamaraang inalok ng javafx.stage.Spage klase upang magtakda ng ilang mga katangian para sa entablado.Gamitin ang paraan ng pagpapakita () upang maipakita ang entablado. Narito ang code doon.

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

Hakbang6: Lumikha ng pangunahing pamamaraan

Sa huling hakbang, lumikha ng isang pangunahing pamamaraan kung saan ilulunsad mo ang application hal. Tawag na paglunsad () na pamamaraan at ipasa ang mga argumento ng linya ng utos (args) dito.

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

Hakbang7: Patakbuhin ang application upang makita ang output.

Upang gawing mas kawili-wili maaari mong baguhin ang UI ng application na JavaFX sa pamamagitan ng paglalapat ng isang pasadyang disenyo dito tulad ng HTML at CSS.

Dadalhin tayo nito sa katapusan ng itoTutorial sa JavaFX. Dumaan kami sa panloob na istraktura ng application ng JavaFX at natutunan ang mga pangunahing kakayahan ng arkitektura, lifecycle, at mga bahagi nito. Sinuri din namin kung paano lumikha ng isang simpleng application ng GUI.

Tiyaking nagsasanay ka hangga't maaari at ibalik ang iyong karanasan.

Suriin ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Narito kami upang matulungan ka sa bawat hakbang sa iyong paglalakbay, para sa pagiging isang bukod sa mga katanungang ito sa panayam sa java, nakakakuha kami ng isang kurikulum na idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng Tutorial sa JavaFX na ito at babalik kami sa iyo sa lalong madaling panahon.