Documente Academic
Documente Profesional
Documente Cultură
JButton
JCheckBox
JFrame
JLabel
JScrollBar
JScrollPane
JTextArea
JTextField
JColorChooser
JFileChooser
JDialog
JProgressBar
JSlider
JInternalFrame
Layout Managers
BorderLayout
BoxLayout
CardLayout
FlowLayout
GridBagLayout
GridLayout
GroupLayout
SpringLayout
Pozitionare absoluta
Card Layout
Layout-ul CardLayout, permite crearea unei arii ce contine
componente diferite la momente diferite. CardLayout este adesea
controlat de catre un ComboBox, a carui stare determina care dintre
paneluri (arie de componente) sa fie afisate de catre CardLayout. O
alternativa la folosirea CardLayout este utilizarea de tabbed pane.
Flow layout
FlowLayout este managerul default pentru orice JPanel. Acest
Layout pune componentele intr-un singur rand, continuand apoi pe
al doilea rand, in caz ca nu exista sufient spatiu in container.
Grid Bag Layout
GridBagLayout este un manager complex si felxibil. In acest
manager, pozitioarea
SpringLayout
SpringLayout GroupLayout este un layout dezvoltat pentru a fi
utilizat de editoarele GUI.
SpringLayout permite definirea unei relatii precise intre marginile a
doua componente. De exemplu se poate defini ca marginea stanga
a unei componente este la o anumita distanta (ce poate fi calculata
dinamic) fata de marginea dreapta a unei alte componente.
Joel on Software
Interfata utilizator este importanta pentru ca afecteaza sentimentele,
emotiile si starea de spirit a utilizatorilor tai. Daca interfata utilizator este
gresita si utilizatorul simte ca nu iti poate controla software-ul, ei
literalmente nu vor fi fericiti, si vor da vina pe software-ul tau. Daca
interfata utilizator e desteapta si lucrurile functioneaza in modul in care
utilizatorul s-a asteptat sa functioneze, vor fi bucurosi caci au reusit sa duca
la bun sfarsit mici teluri.
Interfata treuie sa se comporte in modul in care ei(utilizatorii) se asteapta
sa se comporte.
Axioma importanta: O interfata utilizator este bine proiectata cand
programul se comporta exact cum utilizatorul s-a gandit ca ar functiona.
Modelul utilizator: este interpretarea lor mintala a ceea ce programul face
pentru ei, daca modelul program este similar cu modelul utilizator, ai o
interfata utilizator de succes.
De cati utilizatori ai nevoie pentru a testa interfata ta? - Aproape oricine isi
castiga painea din teste de utilizabilitate crede ca cinci sau sase utilizatori
sunt deajuns.
Axioma - Daca modelul tau program nu e trivial, probabil nu e modelul
utilizator.
Important: De fiecare data cand furnizezi o optiune, ii ceri utilizatorului sa
ia o decizie. ar trebui intodeauna sa incerci sa minimizezi numarul de
decizii pe care oamenii trebuie sa le ia.
Din moment ce optiunea afecteaza aspectul vizual fara a afecta nimic din
functionalitate, si din moment ce utilizatorii sunt liberi sa ignore aceasta
optiune si sa isi faca oricum treaba, asta este o buna utilizare a optiunilor.
Metafore, accesibilitati
Consecventa - consecventa cauzeaza usurinta de utilizare care in schimb
cauzeaza sentimente placute rezultand mai multi bani pentru
tine.Consecventa este un principiu fundamental al unui bun design UI, dar
este doar un corolar al axiomei "fa modelul program sa se potriveasca cu
modelul utilizator", pentru ca modelul utilizator este mai probabil sa
reflecte modul in care utilizatorii vad alte programe functionand. Designerii
UI buni folosesc consecventa inteligent, si, desi s-ar parea ca nu isi etaleaza
creativitatea asa bine, pe termen lung ii face pe utilizatori mai fericiti.
Cand proiectezi interfete utilizator, e o buna idee sa ai doua principii in
minte:
- Utilizatorii nu au manualul, si daca l-ar avea, nu l-ar citi.
- De fapt, utilizatorii nu pot citi nimic, si daca ar putea, nu ar vrea.
Unul din principiile timpurii ale interfe GUI era ca nu ar trebui sa le ceri
oamenilor sa isi aminteasca lucruri care ar putea sa si le aminteasca
calculatorul. Oamenii isi amintesc lucrurile mult mai bine cand li se dau
niste indicii, si intodeauna ar prefera sa mai degraba sa aleaga ceva dintr-o
lista decat sa trebuiasca sa isi aduca aminte.
Celalalt lucru grozav despre planificarea bazata pe activitate este ca iti
permite sa faci o lista a ce functionalitati sa nu faci. Cand creezi orice fel de
software, realitatea este ca vei sugera de trei ori mai multe functionalitati
decat ai timp sa faci. Si una din cele mai bune cai de a decide ce
functionalitati sa implementezi, si ce functionalitati sa lasi afara, este de a
Modelul model-view-controller a aprut prima data n interfaa Smalltalk80, i de atunci a avut o importanta influen asupra proiectrii interfeelor
utilizator.
Un exemplu simplu de model MVC este un text box. Modelul este stringul, sirul de caractere modificabil. Prezentarea (view) este un obiect care
afieaz/deseneaz textul pe ecran (de obicei cu un dreptunghi de jur
mprejur pentru a indica c este vorba de un cmp text editabil).
Controlerul este un obiect ce primete caracterele tastate la tastatur de
ctre utilizator i le insereaz n string.
Modelul
Responsabil cu datele
Menine starea aplicaiei (cmpurile de date)
Implementeaz mecanismul / comportamentul state-changing
(schimbarea
starilor)
Notific prezentrile sau controlerele dependente cnd apare /
intervine o
schimbare. (modelul observer)
View (prezentare)
responsabil de ieire
are caracteristici de ecran (poziie, dimensiune)
deseneaz pe ecran
ascult modificrile din model
interogheaz modelul pentru a-l desena
o prezentare are numai un model
dar un model poate avea mai multe prezentri
Controlerul
responsabil cu intrrile
ascult evenimente de tastatur si mouse
instruiete modelul sau prezentarea s se modifice ca atare
ex. un caracter este inserat n string-ul text
un controler are numai un model i o prezentare
Realitatea: Legtura strns dintre prezentare i controler
MVC a fost nlocuit de MV (Model-View)
o prezentare reutilizabil controleaz att intrarea ct i ieirea
mai este denumit si component
controlere reutilizabile sunt rare
Aciunile n Java Swing: obiecte aflate n spatele componentelor
meniurilor,
butoanele din toolbar, sau scurtturile de la tastatur.