Acasă Finanțe personale 10 Diferențe între JavaFX și Swing - dummies

10 Diferențe între JavaFX și Swing - dummies

Cuprins:

Video: JavaFX Scene Builder Tutorial - Make GUI Responsive 2024

Video: JavaFX Scene Builder Tutorial - Make GUI Responsive 2024
Anonim

Dacă sunteți un programator Java cu experiență, ați lucrat fără îndoială cu Swing pentru a crea interfețe utilizator. Oracle nu a abandonat complet Swing - nu este depreciat, iar aplicațiile Swing continuă să funcționeze. Dar nu se mai face nici o treabă pentru a îmbunătăți Swing, iar Oracle a făcut clar faptul că JavaFX este viitorul.

Aici sunt zece diferențe de bază între JavaFX și Swing.

În JavaFX, toată lumea este o scenă

În Swing, clasa care deține componentele interfeței de utilizator se numește cadru și este definită de clasa JFrame. Un cadru este în esență o fereastră goală la care puteți adăuga un panou , care servește ca un container pentru elementele interfeței de utilizator. Un panou este definit de clasa JPanel.

O aplicație Swing este de fapt o clasă care extinde clasa JFrame. Pentru a afișa componentele interfeței utilizator, adăugați componente într-un JPanel și apoi adăugați panoul la cadru.

JavaFX folosește metafora unui teatru pentru a modela containerele de nivel superior ale unei aplicații. O etapă (definită de clasa Stage) reprezintă containerul cel mai înalt - de obicei o fereastră, dar pe unele sisteme de operare, etapa poate reprezenta întreaga suprafață de afișare. Controalele individuale și alte componente care alcătuiesc interfața utilizatorului sunt cuprinse într-o scenă (definită de clasa Scene). O aplicație poate avea mai mult de o scenă, dar numai o scenă poate fi afișată pe scenă la un moment dat.

O scenă conține un grafic de scena , care este cel mai important concept din JavaFX. Graficul grafic este o colecție a tuturor elementelor care alcătuiesc o interfață utilizator - grupuri, machete, controale și forme. Aceste obiecte sunt numite noduri și toate sunt derivate din clasa nodurilor. Clasa de noduri are multe caracteristici utile și capabilități care sunt automat disponibile pentru orice obiect pe care îl puteți adăuga la interfața dvs. de utilizator. De exemplu, clasa Node definește o metodă setRotate care vă permite să rotiți orice nod din graficul scenei.

În JavaFX, managerii de layout sunt noduri

În Swing, un aspect este asociat unui JPanel. JPanel-ul de nivel superior oferă schema de bază a cadrului. Dacă doriți să așezați machete suplimentare în aspectul de nivel superior, trebuie să creați JPanele suplimentare, să setați machetele asociate și apoi să le adăugați la aspectul de nivel superior.

În JavaFX, layouts sunt subclase ale clasei Node la fel ca și controalele și formele. Aspectul conține o colecție de noduri și orice nod conținut într-un aspect poate fi orice tip de nod: un control, o formă sau alt aspect.Această schemă este mult mai puțin greoaie decât asocierea Swing cu layout-uri cu panouri.

JavaFX a îmbunătățit manevrarea evenimentelor

Atât JavaFX, cât și Swing folosesc manipularea evenimentelor pentru a răspunde la evenimentele de intrare ale utilizatorilor. Totuși, veți observa că evenimentele din JavaFX sunt mai bine gândite și mai consecvente decât echivalentele lor în Swing. Dar cel mai mare motiv de gestionare a evenimentului este îmbunătățit în JavaFX este datorită dependenței sale de proprietăți.

JavaFX acceptă proprietăți

JavaFX acceptă noțiunile proprietăți și utilizează proprietățile extensiv în toate clasele sale. Pur și simplu, o proprietate este o variabilă a cărei valoare poate fi observată. Puteți înregistra un ascultător cu orice proprietate, permițându-vă să scrieți cod care este declanșat automat ori de câte ori se schimbă proprietatea. În plus, puteți să vă puteți lega proprietățile , ceea ce înseamnă că, dacă se modifică o valoare a proprietății, cealaltă valoare a proprietății se modifică automat cu aceasta.

Deoarece aproape toate caracteristicile elementelor de interfață utilizator sunt gestionate prin intermediul proprietăților, JavaFX oferă o manipulare a evenimentelor care nu este cunoscută în Swing. De exemplu, în JavaFX, puteți atașa un ascultător de evenimente la culoarea unei forme. Dacă forma modifică culoarea, codul de ascultător al evenimentului este executat. Este posibil să nu aveți o utilizare pentru capacitate, dar o puteți utiliza dacă doriți.

JavaFX poate fi derulat cu CSS

Una dintre cele mai bune caracteristici ale JavaFX este că puteți controla formatarea cu foi de stil cascadă (CSS). Aproximativ fiecare aspect al aspectului interfeței dvs. de utilizator poate fi setat de o regulă de stil și puteți permite cu ușurință utilizatorului să selecteze care dintre foile de stil disponibile pentru a aplica scenei. Astfel, puteți modifica întreaga apariție a aplicației dvs. printr-o singură metodă.

JavaFX are mai multe controale consecvente

În general, veți observa că ierarhia de control JavaFX este mai completă decât Swing's. Ambele au toate comenzile de bază - butoane, casete de selectare, casete combo și altele asemenea. Dar JavaFX are mai multe controale interesante pe care Swing nu le are, cum ar fi controlul TitledPane pliabil și controlul Accordion care aranjează mai multe controale TitledPane într-un teanc. Și faptul că toate aceste controale sunt deranjabile de CSS le oferă un avantaj imens față de Swing.

JavaFX are efecte speciale

javafx. scenă. efect pachet conține un număr de clase care pot aplica cu ușurință efecte speciale pentru orice nod din graficul de scenă. Aceste clase vă permit să aplicați ușor umbre, reflecții, blururi și alte efecte vizuale interesante care pot transforma aspectul interfeței dvs. de utilizator.

Animația este mai facilă în JavaFX

Animația este posibilă în Swing, dar Swing nu oferă niciun suport direct pentru aceasta. Pentru a anima o componentă Swing, trebuie să configurați cronometrele proprii și să creați propria logică pentru a realiza animația.

În contrast, JavaFX are suport integrat pentru animații sofisticate care pot fi aplicate oricărui nod din graficul scenelor. Puteți utiliza una din mai multe clase de tranziție încorporate pentru a efectua animații comune, cum ar fi decolorări, rotații sau căi de mișcare.Sau, puteți utiliza clasele KeyFrame și Timeline pentru a seta cu ușurință animații personalizate.

JavaFX suportă dispozitive touch moderne

Swing nu are suport pentru dispozitive touch moderne. În contrast, JavaFX are suport integrat pentru gesturi comune de atingere, cum ar fi derularea, derularea, rotirea și zoom-ul. Manipularea acestor evenimente în JavaFX este la fel de ușoară ca manipularea oricărui alt tip de eveniment: pur și simplu instalați un ascultător de eveniment la evenimentul tactil și apoi scrieți un cod care răspunde în mod corespunzător.

JavaFX nu are nici un echivalent cu JOptionPane

Nu ar fi corect să completezi complet această listă de zece diferențe cu puncte care favorizează clar JavaFX. Iată o mică entuziasm de JavaFX: Nu are nici o construcție echivalentă cu clasa JOptionpane a lui Swing, care este foarte utilă pentru afișarea mesajelor scurte de alertă sau pentru obținerea de informații simple de la utilizator. În JavaFX, trebuie să vă creați echivalentul acestei clase utile.

10 Diferențe între JavaFX și Swing - dummies

Alegerea editorilor

Cum se folosește Tweening în Fireworks CS5 - manechine

Cum se folosește Tweening în Fireworks CS5 - manechine

Tweening este furnizat ca instrument pentru animații fine de ajustare în Adobe Fireworks Creative Suite 5. Tweening este procesul de creare a unei stări între alte două, de obicei ca punct de pornire sau oprire pentru animație. Utilizați retușarea pentru a simula un obiect în mișcare, ca o minge ce se învârte sau pentru a bloca o imagine în sau în afara ...

ActionScript 3. 0 Versus ActionScript 2. 0 în Flash CS5 - manechine

ActionScript 3. 0 Versus ActionScript 2. 0 în Flash CS5 - manechine

Introducerea în Flash Player 9, ActionScript versiunea 3. 0 a adus multe schimbări și îmbunătățiri majore în ceea ce privește performanța ActionScript și modul în care a fost creat în filmele Flash. Versiunile anterioare ale ActionScript (1. 0+, 2. 0) sunt încă în uz în cadrul anumitor proiecte Flash, deci aveți opțiuni pentru crearea sau salvarea de filme ...

Adăugați culori la swatches în Flash CS5 - manechine

Adăugați culori la swatches în Flash CS5 - manechine

Folosind panoul Color Adobe Creative Suite 5, și să creați propriile swatches de culoare, să faceți gradienți și chiar să aplicați efecte de transparență culorilor existente în stadiul Flash CS5. Panoul Swatches există și pe propriul panou mobil plutitor, pe care îl puteți deschide selectând Window → Swatches. Cele 256 culori pe acest ...

Alegerea editorilor

Comutatoare vLAN și LAN și Junos OS - manechine

Comutatoare vLAN și LAN și Junos OS - manechine

Rețelele au crescut și au devenit mai rapide. Pentru flexibilitate, segmentarea fizică a dat calea segmentării logice cu VLAN-uri. Această practică creează bucăți izolate de LAN care sunt legate împreună cu un tip special de pod numit switch. Nevoia de punți VLANs reduce ...

Chestiuni legate de securitatea dispozitivelor mobile - dummy

Chestiuni legate de securitatea dispozitivelor mobile - dummy

Dispozitivele mobile, cum ar fi smartphone-urile și tabletele, și accesul oricând / oriunde la date și aplicații corporative. Această flexibilitate nu este însă fără provocările sale. Iată câteva dintre problemele legate de implementarea dispozitivelor mobile pe care trebuie să le protejați împotriva: Pierderi și furt: Acestea sunt preocupări majore, cu sute de mii ...

Ce ar trebui să știți despre actualizarea Junos - dummies

Ce ar trebui să știți despre actualizarea Junos - dummies

Un subiect esențial pentru operarea rețelei dvs. este actualizarea software-ului. Modelul de livrare a noilor versiuni Junos simplifică procesul de modernizare în comparație cu alte sisteme de rețea. Noile versiuni și numere Juniper livrează noi versiuni majore ale sistemului Junos pentru a oferi clienților noștri noi caracteristici și funcționalități de trei până la patru ori pe an. ...

Alegerea editorilor

Sănătatea < < și rușinea ascunsă - dummies

Sănătatea < < și rușinea ascunsă - dummies

ÎN mod normal, rușinea trece după un incident jenant. copilărie. Se asteapta sa fie activata si persista mult timp dupa eveniment, ca o rana deschisa care nu sa vindecat niciodata. Îți este rușine de cine ești. Totul este omniprezent, paralizează spontaneitatea și te definește. Nu credeți ...

Acceptând Realitatea atunci când Vindecarea de la Codependency - dummies

Acceptând Realitatea atunci când Vindecarea de la Codependency - dummies

Acceptarea este un proces. Nu se întâmplă într-o zi, o săptămână sau o lună, dar face eforturi și se desfășoară în pași și rânduri de bebeluși. Schimbarea începe cu conștientizarea. Observați dacă comportamentul și gândurile dvs. ating rezultatele dorite. Apoi, practici nonattachment. Acceptarea nu este aprobarea Acceptarea este o recunoaștere a ceea ce este. Există un ...

Dependența de coexistență nu este Caregiving - manechine

Dependența de coexistență nu este Caregiving - manechine

Mulți oameni, în special femei, se bucură de îngrijire și îngrijire pentru alții. Unii fac o profesie. Mamele sunt legate prin cablu pentru a se îngriji de copiii lor. Îngrijirea de tip dependent este diferită de a acorda îngrijire unei persoane. De fapt, cu dependența de codependență, poate fi mai mult decât să dai atunci când nevoile dătătorului au prioritate. Acest lucru se datorează faptului că îngrijirea ...