Hjem Personlig finansiering 10 Forskjeller mellom JavaFX og Swing-dummies

10 Forskjeller mellom JavaFX og Swing-dummies

Innholdsfortegnelse:

Video: How to link one JFrame to another JFrame in Java Swing 2025

Video: How to link one JFrame to another JFrame in Java Swing 2025
Anonim

Hvis du er en erfaren Java-programmerer, har du utvilsomt jobbet med Swing for å skape brukergrensesnitt. Oracle har ikke fullstendig forlatt Swing - det er ikke utdatert, og Swing-applikasjoner fortsetter å fungere. Men det gjøres ikke noe arbeid for å forbedre Swing, og Oracle har gjort det klart at JavaFX er fremtiden.

Her er ti grunnleggende forskjeller mellom JavaFX og Swing.

I JavaFX er hele verden en scene

I Swing er klassen som inneholder brukergrensesnittkomponentene en ramme og er definert av JFrame-klassen. En ramme er egentlig et tomt vindu som du kan legge til et panel, som fungerer som en beholder for brukergrensesnittelementene dine. Et panel er definert av JPanel-klassen.

En Swing-applikasjon er faktisk en klasse som utvider JFrame-klassen. For å vise brukergrensesnittkomponenter legger du til komponenter til en JPanel og legger deretter panelet til rammen.

JavaFX bruker metaforen til et teater for å modellere toppnivåbeholdere av et program. Et stadium (definert av sceneklassen) representerer høyeste nivåbeholderen - vanligvis et vindu, men på enkelte operativsystemer kan scenen representere hele displayflaten. De enkelte kontrollene og andre komponenter som utgjør brukergrensesnittet, finnes i en scene (definert av sceneklassen). En applikasjon kan ha mer enn en scene, men bare ett av scenene kan vises på scenen til enhver tid.

En scene inneholder en scenediagram, som er det viktigste konseptet i JavaFX. Scenediagrammet er en samling av alle elementene som utgjør et brukergrensesnitt - grupper, layouter, kontroller og former. Disse objektene kalles noder og er alle avledet fra Node-klassen. Node-klassen har mange nyttige funksjoner og funksjoner som automatisk gjøres tilgjengelige for ethvert objekt du kan legge til i brukergrensesnittet. For eksempel definerer Node-klassen en setRotate-metode som lar deg rotere noen noder i scenediagrammet.

I JavaFX er layoutledere noder

I Swing er en layout tilknyttet en JPanel. Toppnivå JPanel gir grunnleggende layout for rammen. Hvis du vil legge inn flere oppsett i toppnivålayouten, må du opprette flere JPaneler, angi de tilhørende layoutene, og deretter legge dem til layoutet på høyere nivå.

I JavaFX er layouter underklasser av Node-klassen, akkurat som kontroller og former. Layouts inneholder en samling av noder, og noen noder som finnes i en layout kan være noen form for node: en kontroll, en form eller et annet layout.Denne ordningen er mye mindre tung enn Swings tilknytning av layouter med paneler.

JavaFX har forbedret hendelseshåndtering

Både JavaFX og Swing bruker hendelseshåndtering for å svare på brukerinngangshendelser. Du vil imidlertid oppdage at hendelser i JavaFX er bedre gjennomtenkt og mer konsistent enn deres ekvivalenter i Swing. Men den største årsaken til hendelseshåndtering er forbedret i JavaFX, fordi den er avhengig av egenskaper.

JavaFX støtter egenskaper

JavaFX støtter konseptene egenskaper og bruker egenskaper omfattende i sine klasser. Enkelt sagt, en egenskap er en variabel hvis verdi kan observeres. Du kan registrere en lytter med en hvilken som helst eiendom, slik at du kan skrive kode som utløses automatisk når eiendommen endres. I tillegg kan du binde egenskaper til hverandre, noe som betyr at hvis en eiendomsverdi endres, endres den andre eiendomsverdien automatisk med den.

Fordi nesten alle egenskaper av brukergrensesnittelementer styres gjennom egenskaper, gir JavaFX hendelseshåndtering som ikke er kjent i Swing. For eksempel, i JavaFX kan du legge ved en hendelselytter til fargen på en form. Hvis formen endrer farge, blir hendelseslytterkoden din utført. Du kan ikke ha bruk for evnen, men du kan bruke den hvis du trenger det.

JavaFX er skinnbar med CSS

En av de beste funksjonene i JavaFX er at du kan styre formatering med Cascading Style Sheets (CSS). Omtrent alle aspekter ved utseendet på brukergrensesnittet kan settes av en stilregel, og du kan enkelt tillate brukeren å velge hvilken av flere tilgjengelige stilark som skal brukes til scenen. Dermed kan du endre hele utseendet på søknaden din med en enkelt metodeanrop.

JavaFX har mer konsistente kontroller

Generelt finner du at JavaFX-kontrollhierarkiet er mer komplett enn Swings. Begge har alle de grunnleggende kontrollene - knapper, boksene, kombinationsbokser og lignende. Men JavaFX har flere interessante kontroller som Swing ikke har, for eksempel den sammenleggbare TitledPane-kontrollen og Accordion-kontrollen som arrangerer flere TitledPane-kontroller i en stabel. Og det faktum at alle disse kontrollene er skinnable av CSS gir dem en stor fordel i forhold til Swing.

JavaFX har spesialeffekter

Javafx. scene. effektpakke inneholder en rekke klasser som enkelt kan bruke spesielle effekter til en hvilken som helst node i scenediagrammet. Disse klassene lar deg enkelt bruke skygger, refleksjoner, uskarphet og andre interessante visuelle effekter som kan forandre utseendet til brukergrensesnittet.

Animasjon er enklere i JavaFX

Animasjon er mulig i Swing, men Swing gir ikke direkte støtte til det. For å animere en Swing-komponent må du sette opp dine egne timere og bygge din egen logikk for å utføre animasjonen.

I motsetning til dette har JavaFX innebygd støtte for sofistikerte animasjoner som kan brukes på noen node i scenediagrammet. Du kan bruke en av flere innebygde overgangsklasser til å utføre vanlige animasjoner som fades, rotasjoner eller bevegelsesbaner.Du kan også bruke KeyFrame og Timeline-klassene til å enkelt konfigurere egendefinerte animasjoner.

JavaFX støtter moderne berøringsenheter

Swing mangler støtte for moderne berøringsenheter. I motsetning til dette har JavaFX innebygd støtte for vanlige berøringsbevegelser som å rulle, sveipe, rotere og zoome. Å håndtere disse hendelsene i JavaFX er like enkelt som å håndtere andre typer arrangement: Du installerer bare en hendelseslytter på berøringshendelsen og skriver deretter kode som svarer på riktig måte.

JavaFX har ikke tilsvarende JOptionPane

Det ville ikke være rettferdig å fullstendig fylle denne listen med ti forskjeller med punkter som klart favoriserer JavaFX. Her er en liten irritasjon av JavaFX: Den har ingen innebygd ekvivalent med Swing's JOptionpane-klassen, noe som er veldig nyttig for visning av kortvarslingsmeldinger eller enkel innføring fra brukeren. I JavaFX må du lage din egen ekvivalent til denne nyttige klassen.

10 Forskjeller mellom JavaFX og Swing-dummies

Redaktørens valg

5 Tjenester som kan følge med på sosiale medier - dummies

5 Tjenester som kan følge med på sosiale medier - dummies

Del av å følge med sosiale medier er å identifisere influencers, generere salg og måle følelser. Mange av disse tjenestene produserer sofistikert analyse og rapporter, og de beste belaster store gebyrer for å gjøre det. Hvilke du bruker, avhenger av budsjettet, dine behov og dine preferanser for hvordan de søker og genererer informasjon. ...

5 Måter å analysere sosiale medier Trender - dummies

5 Måter å analysere sosiale medier Trender - dummies

Hvis du leter etter måter å søke etter navn , merker eller nøkkelord blir nevnt på sosiale nettsteder, hjelper disse tjenestene deg ikke bare med å identifisere hvor disse navnene deles, men også bidra til å gjøre resultatene relevante. PeopleBrowsr er et sosialt media søkeverktøy som lar deg søke i brukernes aktiviteter over tid. Topsy er ...

10 Regler for Social Media Optimization - dummies

10 Regler for Social Media Optimization - dummies

Hvor mange regler er det for sosiale medier optimalisering (SMO)? Det avhenger av hvem du spørger. Disse reglene legger et solid grunnlag for din sosiale mediepraksis, og at du kan bruke dem som prinsipper for å skape en effektiv praksis. Vær autentisk Denne hører hjemme på toppen av listen. Nummer-ett-problemet ...

Redaktørens valg

Slik avslutter du en kolonne i Word 2007 - dummies

Slik avslutter du en kolonne i Word 2007 - dummies

Word 2007 tilbyr flere måter å avslutte en kolonne av Tekst: Du kan opprette en kolonneavbryt, gå tilbake til Enkelt kolonne-modus, eller fjerne kolonner fra et dokument. Lag en kolonneavbryt Når du vil fortsette å bruke kolonner, men du vil at teksten du skriver skal starte øverst på det neste ...

Slik fyller du inn tekst i et Word 2007-tabell - dummies

Slik fyller du inn tekst i et Word 2007-tabell - dummies

For å fylle ut Word 2007-tabellen med tekst , du begynner bare å skrive. Når du skriver, passer hele teksten til en enkelt celle, som vokser høyere for å imøtekomme lange biter av tekst. For å hjelpe deg med å skrive inn tekst og flytte rundt i et bord, kan du bruke bestemte taster til å utføre spesialfunksjoner: Tab: For å flytte ...

Slik skriver du inn ukjente tegn i et Word 2007-dokument - dummier

Slik skriver du inn ukjente tegn i et Word 2007-dokument - dummier

Word 2007 bruker to ikke-brytende tegn , mellomrom og bindestrek (eller bindestrek), for å bryte linjer med tekst: Plassen deler en linje mellom to ord, og bindestrek (ved hjelp av bindestrek) deler en linje mellom to ordstykker. Noen ganger vil du imidlertid ikke at en linje skal splittes av et mellomrom eller en bindestrek. For ...

Redaktørens valg

Legger til tekstanalyse til datavisualiseringer - dummies

Legger til tekstanalyse til datavisualiseringer - dummies

En av de kraftigste måtene å legge til sammenheng med datavisualiseringene dine er å inkludere tekstanalyse. I Business Intelligence Dashboard Formula World er tekstanalyse definert som en kort setning eller et fragment som inneholder en kombinasjon av statisk tekst og dynamiske verdier som beskriver en eller flere visualiseringer. Følgende figur viser ...

4 Uvanlig designverktøy for infographics arbeid - dummies

4 Uvanlig designverktøy for infographics arbeid - dummies

Infographics er en stadig mer populær form for deling av informasjon. Mekanikkene til å lage et infografisk har historisk vært litt komplisert, og krever at du trenger visse programvare og design ferdigheter. I det siste, noen & ldquo; nye barn i blokken & rdquo; tilbyr noen interessante og forenklede måter å lage og dele infographics på. Arbeide med disse verktøyene kan være ...

Velg riktig type punkt (størrelse) for infographics - dummies

Velg riktig type punkt (størrelse) for infographics - dummies

Du trenger alltid å Vær oppmerksom på hvordan lesbar typen i infografikken din vil være når folk ser på den. Teksten må være stor nok og klar nok til at folk kan lese det. Felles designstandarder dikterer at kroppstypen ikke skal være mindre enn 10 poeng, og det anbefales i de fleste tilfeller å ...