Hjem Personlig finansiering 10 Forskelle mellem JavaFX og Swing-dummies

10 Forskelle mellem JavaFX og Swing-dummies

Indholdsfortegnelse:

Video: Samsung Galaxy Note 10+ Plus Ekran Değişimi ?? #samsunggalaxynote10plus 2024

Video: Samsung Galaxy Note 10+ Plus Ekran Değişimi ?? #samsunggalaxynote10plus 2024
Anonim

Hvis du er en erfaren Java-programmør, har du uden tvivl arbejdet med Swing for at oprette brugergrænseflader. Oracle har ikke helt forladt Swing - det er ikke forældet, og Swing applikationer fortsætter med at fungere. Men der arbejdes ikke længere for at forbedre Swing, og Oracle har gjort det klart, at JavaFX er fremtiden.

Her er 10 grundlæggende forskelle mellem JavaFX og Swing.

I JavaFX er hele verden et stadium

I Swing hedder den klasse, der indeholder dine brugergrænsefladekomponenter en ramme og defineres af JFrame-klassen. En ramme er i det væsentlige et tomt vindue, hvor du kan tilføje et panel, , som fungerer som en beholder til dine brugergrænsefladeelementer. Et panel er defineret af JPanel-klassen.

En Swing-ansøgning er faktisk en klasse, der udvider JFrame-klassen. For at vise brugergrænsefladekomponenter, tilføjer du komponenter til en JPanel og tilføjer derefter panelet til rammen.

JavaFX bruger metaforen til et teater til at modellere de øverste containere af et program. Et stadium (defineret af sceneklassen) repræsenterer den højeste niveau beholder - typisk et vindue, men på nogle operativsystemer kan scenen repræsentere hele skærmens overflade. De enkelte kontroller og andre komponenter, der udgør brugergrænsefladen, er indeholdt i en scene (defineret af sceneklassen). En applikation kan have mere end en scene, men kun et af scenerne kan vises på scenen til enhver tid.

En scene indeholder en scenediagram, , som er det vigtigste koncept i JavaFX. Scenediagrammet er en samling af alle de elementer, der udgør en brugergrænseflade - grupper, layouter, kontroller og former. Disse objekter hedder noder og er alle afledt af Node-klassen. Node-klassen har mange nyttige funktioner og funktioner, der automatisk gøres tilgængelige for ethvert objekt, du kan tilføje til din brugergrænseflade. For eksempel definerer Node-klassen en setRotate-metode, som giver dig mulighed for at rotere enhver node i scenediagrammet.

I JavaFX er layoutledere knuder

I Swing er et layout forbundet med en JPanel. Den øverste JPanel giver det grundlæggende layout til rammen. Hvis du vil neste yderligere layouter i layoutet på øverste niveau, skal du oprette yderligere JPanels, angive deres tilknyttede layouter og derefter føje dem til layoutet på højere niveau.

I JavaFX er layouter underklasser af Node-klassen ligesom kontroller og former. Layouts indeholder en samling af noder, og enhver node indeholdt i et layout kan være nogen form for node: en kontrol, en form eller et andet layout.Denne ordning er meget mindre besværlig end Swings sammenslutning af layouter med paneler.

JavaFX har forbedret hændelseshåndtering

Både JavaFX og Swing bruger hændelseshåndtering til at reagere på brugerindgangsbegivenheder. Men du vil opdage, at begivenheder i JavaFX er bedre gennemtænkte og mere konsekvente end deres ækvivalenter i Swing. Men den største årsagshændelseshåndtering er forbedret i JavaFX, fordi den er afhængig af egenskaber.

JavaFX understøtter egenskaber

JavaFX understøtter begreberne egenskaber og bruger egenskaber i vid udstrækning i sine klasser. Enkelt sagt er en ejendom en variabel, hvis værdi kan overholdes. Du kan registrere en lytter med enhver ejendom, så du kan skrive kode, der udløses automatisk, når ejendommen ændres. Derudover kan du binde egenskaber til hinanden, hvilket betyder at hvis en egenskabsværdi ændres, ændres den anden egenskabsværdi automatisk med den.

Da næsten alle egenskaber ved brugergrænsefladeelementer styres gennem egenskaber, giver JavaFX hændelseshåndtering, der ikke er kendt i Swing. For eksempel i JavaFX kan du vedhæfte en hændelseslytter til farven på en form. Hvis formen ændrer farve, udføres din event lytterkode. Du har muligvis ikke brug for evnen, men du kan bruge den, hvis du har brug for det.

JavaFX kan skinnes med CSS

En af de bedste funktioner i JavaFX er, at du kan styre formatering med Cascading Style Sheets (CSS). Næsten alle aspekter af udseendet af din brugergrænseflade kan indstilles ved en stilregel, og du kan let lade brugeren vælge, hvilken af ​​flere tilgængelige stilark der skal anvendes på scenen. Således kan du ændre hele udseendet af din ansøgning med en enkelt metodeopkald.

JavaFX har mere ensartede kontroller

Generelt finder du, at JavaFX-kontrolhierarkiet er mere komplet end Swing's. Begge har alle de grundlæggende kontroller - knapper, afkrydsningsfelter, kombinationsbokse og lignende. Men JavaFX har flere interessante kontroller, som Swing ikke har, såsom den sammenfoldelige TitledPane-kontrol og Accordion-kontrollen, der arrangerer flere TitledPane-kontroller i en stak. Og det faktum, at alle disse kontroller er skinnable af CSS giver dem en stor fordel i forhold til Swing.

JavaFX har specielle effekter

Javafx. scene. effektpakke indeholder et antal klasser, der nemt kan anvende specielle effekter på en node i scenediagrammet. Disse klasser giver dig mulighed for nemt at anvende skygger, refleksioner, uklarheder og andre interessante visuelle effekter, som kan ændre udseendet af din brugergrænseflade.

Animation er nemmere i JavaFX

Animation er mulig i Swing, men Swing giver ikke nogen direkte support til det. For at animere en Swing-komponent skal du oprette dine egne timere og opbygge din egen logik for at udføre animationen.

I modsætning hertil har JavaFX indbygget understøttelse af sofistikerede animationer, som kan anvendes til enhver node i scenediagrammet. Du kan bruge en af ​​flere indbyggede overgangsklasser til at udføre almindelige animationer som fades, rotationer eller bevægelsesstier.Eller du kan bruge KeyFrame og Timeline klasserne til nemt at oprette brugerdefinerede animationer.

JavaFX understøtter moderne berøringsenheder

Swing mangler støtte til moderne berøringsenheder. I modsætning hertil har JavaFX indbygget understøttelse af almindelige berøringsbevægelser som rulle, swiping, rotering og zoomning. Håndtering af disse begivenheder i JavaFX er lige så nem som at håndtere enhver anden form for begivenhed: Du skal blot installere en begivenhedslytter på berøringshændelsen og derefter skrive kode, der svarer korrekt.

JavaFX har ikke ækvivalent med JOptionPane

Det ville ikke være rimeligt at fuldstændigt udfylde denne liste over ti forskelle med punkter, der klart favoriserer JavaFX. Her er en mindre irritation af JavaFX: Den har ingen indbygget ækvivalent med Swings JOptionpane-klasse, hvilket er meget praktisk til visning af korte advarsler eller enkelt indlæsning fra brugeren. I JavaFX skal du lave din egen ækvivalent til denne nyttige klasse.

10 Forskelle mellem JavaFX og Swing-dummies

Valg af editor

Fuld redigeringsfunktion i Photoshop Elements 10 - dummies

Fuld redigeringsfunktion i Photoshop Elements 10 - dummies

Fuld fotoredigeringsfunktion tilbyder bundter af værktøjer, som du kan bruge at redigere dine billeder, fra korrektionsværktøjer til fastsættelse af farve og klarhed til filtre, lag og meget mere for at ændre eksisterende fotos eller skabe helt originale billeder fra bunden. Men alle disse værktøjer gør også Komplet fotoredigeringstilstand kompleks. Du kan flytte ind i ...

Generelle blandingsformer i Photoshop Elements - dummies

Generelle blandingsformer i Photoshop Elements - dummies

Elementer spænder over 25 blandingstilstande. Blend modes påvirker hvordan farver interagerer mellem lag og også hvordan farver interagerer, når du anvender maling på et lag. Ikke alene gør blandingstilstande interessante effekter, men du kan også nemt anvende, redigere eller fjerne blandingsfunktioner uden at røre dine billedpixel. De forskellige blandingstilstande ...

Geometriske formindstillinger i Photoshop Elements - dummies

Geometriske formindstillinger i Photoshop Elements - dummies

Geometriindstillinger hjælpe med at definere, hvordan dine figurer ser ud. Klik på nedpegepilen i værktøjsindstillingerne i Elements for at få adgang til de geometriske indstillinger, der beskrives i det følgende. Rektangulære og afrundede rektangel geometriske indstillinger Her er geometriske indstillinger for rektangel og afrundede rektangelformer: Ubegrænset: Giver dig mulighed for at få fri tøj til at tegne en ...

Valg af editor

Sådan bygger du tabeller i HTML5 - dummies

Sådan bygger du tabeller i HTML5 - dummies

Sommetider indeholder din webside data bedst fremlagt i et bord . Du kan bruge HTML5's komplette bordsystem til at oprette tabeller som den i dette eksempel: Den grundlæggende struktur i et bord i HTML-format er rimeligt let at forstå; Tjek koden, der oprettede tabellen i eksemplet:

Hvordan man ændrer gentagne baggrunde på CSS3-steder - dummier

Hvordan man ændrer gentagne baggrunde på CSS3-steder - dummier

Der er situationer, hvor man kun vil en enkelt kopi af et baggrundsbillede på dit CSS3-websted. Det kan være, at billedet du har brugt er noget, der ikke gentager sig godt eller er stort nok til, at du virkelig ikke vil have det gentaget. Følgende procedure viser en teknik, du kan bruge til at fortælle ...

Hvordan man opbygger en webside skabelon fra scratch-dummies

Hvordan man opbygger en webside skabelon fra scratch-dummies

Standardværktøjet på tværs af digitalt agenturer og interne afdelinger til opbygning af website grafik er Adobe Photoshop. Selvom fyrværkeri er optimeret og målrettet til at producere web-grafiske kildefiler, er det bare ikke fanget, sandsynligvis på grund af den massive genoplæringsindsats ville det medføre, at hele afdelinger gør omskifteren. At oprette et nyt ...

Valg af editor

Sådan godkendes medlemmer til din LinkedIn Group - dummier

Sådan godkendes medlemmer til din LinkedIn Group - dummier

Som flere og flere mennesker finder ud af din ny LinkedIn-gruppe, og som medlemmer begynder at deltage, kan du opleve, at nogle af de personer, der har klikket på linket for at deltage, ikke er på din forhåndsgodkendte liste. Måske er de mennesker, du ikke har forstået var på LinkedIn, eller du var ikke klar over, at de var gyldige grupper ...

Hvordan man tilføjer billeder til kroppen i din LinkedIn-profil til Visual Social Marketing - dummies

Hvordan man tilføjer billeder til kroppen i din LinkedIn-profil til Visual Social Marketing - dummies

Ud over et profilbillede giver LinkedIn brugere mulighed for at forbedre de visuelle sociale markedsføringselementer i deres profiler ved at tilføje billeder til deres profilprofil. Du kan tilføje billeder til ethvert afsnit i din LinkedIn-profil. Tilføjelse af billeder til din profil kan hjælpe dig med at fortælle din historie visuelt og ...

Sådan tilføjer du en virksomhedsside til LinkedIn - dummies

Sådan tilføjer du en virksomhedsside til LinkedIn - dummies

, Når du har opfyldt kravene til oprettelse en virksomhedsside på LinkedIn, er det tid til at komme i gang ved at tilføje selskabets side til Linkedins system. For at oprette din virksomhedsside skal du blot følge disse trin: