Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
laboratoare:laborator03 [2014/10/30 01:15]
Andrei Roșu-Cojocaru [Conținut pentru Pagini Internet]
laboratoare:laborator03 [2014/11/17 20:48] (current)
Andrei Roșu-Cojocaru [Soluții]
Line 4: Line 4:
 ===== Obiective ==== ===== Obiective ====
  
 +  * familiarizarea cu facilitățile oferite de tehnologia JavaFX pentru dezvoltarea de interfețe cu utilizatorul în comparație cu alte soluții existente;
 +  * identificarea principalelor componente din cadrul arhitecturii JavaFX;
 +  * descrierea structurii generale a unei aplicații JavaFX și a firelor de execuție din contextul cărora pot fi accesate obiectele corespunzătoare controalelor grafice, respectiv interacțiunii cu utilizatorul;​
 +  * implementarea unei interfețe cu utilizatorul folosind Scene Builder 2.0 / FXML cu injectarea controalelor grafice / metodelor de tratare a evenimentelor în clasa controller din codul sursă;
 +  * înțelegerea mecanismului de tratare a evenimentelor legate de interacțiunea cu utilizatorul în JavaFX; dezvoltarea de filtre și metode de tratare pentru diferite acțiuni ale utilizatorului;​
 +  * însușirea practicilor utilizate pentru dezvoltarea aplicațiilor JavaFX.
 ===== Cuvinte Cheie ==== ===== Cuvinte Cheie ====
  
Line 10: Line 16:
 ===== Materiale Ajutătoare ====== ===== Materiale Ajutătoare ======
  
 +{{ :​laboratoare:​laborator03:​aipi2014-lab03-slides.pdf }}
 +
 +{{ :​laboratoare:​laborator03:​aipi2014-lab03-slides-3pp.pdf }}
 ===== JavaFX - aspecte generale ===== ===== JavaFX - aspecte generale =====
  
Line 1215: Line 1224:
 </​code>​ </​code>​
  
-Modul în care sunt gestionate ferestrele proeminente poate fi specificat prin intermediul unei metode de tratare care poate întoarce acelaşi motor web ca cel curent (caz în care pagina respectivă este deschisă în acelaşi navigator) sau alt motor web. Clasa ''​PopupFeatures''​ descrie proprietățile unei ferestre proeminente (așa cum sunt descrise de specificația JavaScript),​ instanța sa fiind transmis metodei de tratare a evenimentului de încărcare a unui conținut de acest tip.+Modul în care sunt gestionate ferestrele proeminente poate fi specificat prin intermediul unei metode de tratare care poate întoarce acelaşi motor web ca cel curent (caz în care pagina respectivă este deschisă în acelaşi navigator) sau alt motor web. Clasa ''​PopupFeatures''​ descrie proprietățile unei ferestre proeminente (așa cum sunt descrise de specificația JavaScript),​ instanța sa fiind transmisă metodei de tratare a evenimentului de încărcare a unui conținut de acest tip.
  
 <code java> <code java>
Line 1263: Line 1272:
 Pentru obiectele ''​WebView'',​ meniurile contextuale sunt activate implicit, dezactivarea lor realizându-se prin metoda ''​setContextMenuEnabled()''​. Pentru obiectele ''​WebView'',​ meniurile contextuale sunt activate implicit, dezactivarea lor realizându-se prin metoda ''​setContextMenuEnabled()''​.
  
-Istoricul paginilor vizitate poate fi obţinut prin metoda ''​getHistory()''​ aplicată obiectului de tip ''​WebEngine'',​ întorcând un obiect de tip ''​WebHistory''​. Acesta este o listă de intrări ce poate fi accesată prin metoda ''​getEnteries()'',​ conţinând informaţii despre pagină (URL şi titlu) sau despre data la care aceasta a fost vizitată cel mai recent. Metoda ''​go()''​ a acestei clase forțează navigatorul să încarce pagina reţinută la indexul respectiv.+Istoricul paginilor vizitate poate fi obţinut prin metoda ''​getHistory()''​ aplicată obiectului de tip ''​WebEngine'',​ întorcând un obiect de tip ''​WebHistory''​. Acesta este o listă de intrări ce poate fi accesată prin metoda ''​getEntries()'',​ conţinând informaţii despre pagină (URL şi titlu) sau despre data la care aceasta a fost vizitată cel mai recent. Metoda ''​go()''​ a acestei clase forțează navigatorul să încarce pagina reţinută la indexul respectiv.
  
 Conținutul unei pagini Internet poate fi tipărit folosint imprimanta instalată în cadrul mașinii, folosind metoda ''​print()''​ din clasa ''​WebEngine''​. Aceasta primește un obiect de tip ''​PrinterJob'',​ obținut prin apelul metodei statice ''​PrinterJob.createPrinterJob()''​. În situația în care nu există nici o imprimantă instalată, rezultatul întors va fi ''​null''​. De asemenea, trebuie apelată metoda ''​endJob()''​ a obiectului ''​PrinterJob''​ pentru a se asigura faptul că procesul de tipărire a fost terminat. Conținutul unei pagini Internet poate fi tipărit folosint imprimanta instalată în cadrul mașinii, folosind metoda ''​print()''​ din clasa ''​WebEngine''​. Aceasta primește un obiect de tip ''​PrinterJob'',​ obținut prin apelul metodei statice ''​PrinterJob.createPrinterJob()''​. În situația în care nu există nici o imprimantă instalată, rezultatul întors va fi ''​null''​. De asemenea, trebuie apelată metoda ''​endJob()''​ a obiectului ''​PrinterJob''​ pentru a se asigura faptul că procesul de tipărire a fost terminat.
Line 1279: Line 1288:
 === BorderPane === === BorderPane ===
  
-Un container de tip ''​BorderPane''​ oferă cinci regiuni pentru poziționarea nodurilor: sus, jos, stânga, dreapta ​li centru, acestea putând avea orice dimensiune.+Un container de tip ''​BorderPane''​ oferă cinci regiuni pentru poziționarea nodurilor: sus, jos, stânga, dreapta ​şi centru, acestea putând avea orice dimensiune.
  
 <note tip>În situația în care aplicația JavaFX nu are nevoie de o anumită regiune, aceasta nu va fi definită, nefiind alocat spațiu pentru ea.</​note>​ <note tip>În situația în care aplicația JavaFX nu are nevoie de o anumită regiune, aceasta nu va fi definită, nefiind alocat spațiu pentru ea.</​note>​
Line 2215: Line 2224:
 ===== Soluții ===== ===== Soluții =====
  
-disponibile pe 3 noiembrie 2014+[[https://​github.com/​aipi2014/​Laborator03/​tree/​master/​Eclipse/​|Proiect Eclipse]]\\ 
 +[[https://​github.com/​aipi2014/​Laborator03/​tree/​master/​NetBeans/​|Proiect NetBeans]]
laboratoare/laborator03.1414624539.txt.gz · Last modified: 2014/10/30 01:15 by Andrei Roșu-Cojocaru
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0