GUI la java folosind jface pentru a crea o fereastră de aplicație, java

JFace este un strat suplimentar de abstractizare deasupra bibliotecii grafice SWT, care oferă posibilitatea de a dezvolta o interfață grafică de utilizator bazată pe modelul MVC (Model View Controller). Principalele componente ale JFace includ:






  • Viewers - clase pentru încapsularea sarcinilor pentru furnizarea de date pentru afișare, filtrare, sortare și așa mai departe.
  • Acțiuni și contribuții - introduceți semantica descrierii acțiunilor utilizatorilor și modul în care acestea ar trebui să fie disponibile pentru utilizator.
  • Regiștrii de imagini și fonturi - oferă clase pentru gestionarea resurselor, cum ar fi imagini și fonturi.
  • Dialoguri și experți - un cadru pentru construirea interacțiunilor complexe de dialog cu utilizatorul.
  • Asistență în teren - oferă oportunități de implementare a funcțiilor auxiliare pentru câmpuri, cum ar fi afișarea stării câmpului sau sugestii despre conținut.

Prima parte va lua în considerare crearea unei ferestre simple folosind JFace, adăugarea unui meniu, a barei de stare și a barei de instrumente.

Configurarea proiectului

Pentru a dezvolta aplicații grafice folosind JFace în Eclipse, trebuie să conectați fișierele SWT și JFace.
  • În cazul în care Eclipse este instalat PDE, acest lucru se poate face prin specificarea bibliotecii SWT în setările proiectului și verificarea casetei pentru a susține JFace.
  • Dacă PDE nu este instalat, atunci trebuie să conectați manual fișierele jar la proiect. Le găsiți în directorul eclipses plugins, se numește org.eclipse.swt _ *. Jar și org.eclipse.jface _ *. Jar

Crearea unei ferestre

Fereastra aplicației din JFace este moștenită din clasa ApplicationWindow, care oferă opțiuni pentru crearea de meniuri, panouri de control și bare de stare.

Cea mai simplă modalitate de a crea o fereastră este prezentată în următorul exemplu:

Crearea conținutului unei ferestre

Pentru a crea anumite conținuturi ale ferestrei, trebuie să redefiniți metoda Control createContents (parental compozit) din clasa ApplicationWindow. Metoda trebuie să returneze o componentă care va fi conținutul ferestrei.

În aceeași metodă, puteți seta și titlul ferestrei apelând metoda setText (textul de coardă) al shell-ului disponibil prin apelarea getShell ()

În acest exemplu, o astfel de componentă va fi pur și simplu o etichetă albă, în aplicații reale, o astfel de componentă este un fel de compozit.







Adăugarea unei bare de stare

Adăugarea unei bare de stare în fereastra aplicației nu este ușoară, dar este foarte simplă. Pentru a face acest lucru, trebuie doar să apelați metoda protejată addStatusBar (). Probabil, cel mai potrivit loc pentru un astfel de apel este proiectantul de ferestre sau o metodă de inițializare a acestuia.

Pentru a afișa textul în bara de stare, trebuie să apelați metoda setStatus (String status), argumentul căruia este același șir pe care doriți să îl afișați.

Crearea unui meniu

Pentru a crea o bară de meniu în JFace, trebuie să apelați metoda addMenuBar (), precum și să creați o bară de stare.
Dar atunci trebuie să adăugați elemente de meniu la panou. Acest lucru se face după cum urmează:
  • Secțiunea de meniu este descrisă de clasa MenuManager. În constructor, poate fi trecut un șir - numele secțiunii, unde simbolul "" înseamnă că caracterul care urmează va fi cheia când navigați cu tasta Alt. Adăugați o secțiune de meniu în panou folosind constructul getMenuBar () .Adăugați (meniu).
  • Elementul de meniu este descris de clasa Action. Clasa în sine este abstractă, meniul trebuie să moștenească de la ea și trece peste termen void metoda (), care găzduiește codul care se execută atunci când un utilizator selectează un element de meniu. De fapt, metoda nu poate trece peste, dar apoi, de ce elementul de meniu necesar? =) Nume articol poate fi specificat prin trecerea la constructor, sau prin apel void setText (String text). După crearea, elementul de meniu este adăugat la secțiune apelând metoda de adăugare a obiectului elementului de meniu. De exemplu: menu.add (menuItem)
  • Submeniurile sunt create foarte simplu: trebuie să adăugați o altă secțiune într-o secțiune de meniu utilizând metoda de adăugare. Asta e tot.

În exemplul următor, vom crea o secțiune din meniul Fișier și un element Hello în el, ale cărei selectări determină apariția textului în bara de stare a ferestrei. Am creat codul de creare a meniului într-o singură metodă, care se numește de la designerul de ferestre:

Crearea unei bare de instrumente

Pentru a crea o bară de instrumente într-o fereastră, trebuie să apelați metoda addToolBar (stil int) în proiectantul ferestrei în care să transferați stilul componentei panoului.

Pentru a accesa panoul creat, utilizați metoda getToolBarManager (). Pentru a adăuga o acțiune panoului, utilizați metoda de adăugare a panoului în care este transferată acțiunea.

În cel mai simplu caz, crearea unui panou și adăugarea unui buton la acesta vor arăta astfel:

Crearea mai multor bare de instrumente mobile

În locul unei bare de instrumente, puteți crea un set de panouri mobile (CoolBar). Pentru a face acest lucru aveți nevoie de:
  1. În loc de metoda addToolBar, sunați la addCoolBar
  2. Pentru a accesa un set de panouri, utilizați metoda getCoolBarManager ().
  3. Creați o bară de instrumente pentru adăugarea de acțiuni. Pentru a face acest lucru, creați o nouă instanță a clasei ToolBarManager, care va reprezenta panoul și apelați metoda de adăugare a CoolBarManager, trecând panoul acolo.
  4. Puteți adăuga acțiuni la panoul creat

Un exemplu de cod care creează două panouri plutitoare:

Important! Fereastra de aplicații poate avea fie un panou de control, fie un set de dispozitive transferabile, o încercare de a crea atât unul cât și celălalt va duce la o eroare!

Posibile probleme

Aici veți găsi câteva probleme pe care le-ați putea întâlni:
  • Când adăugați elemente de meniu după lansarea aplicației, acestea nu apar - trebuie să apelați metoda getMenuBarManager () pentru a actualiza meniul după crearea ferestrei. Actualizare (true) - specificați pentru a actualiza bara de meniu.






Articole similare

Trimiteți-le prietenilor: