Grafiska lietotāja saskarne (GUI), kas izveidota, izmantojot Java NetBeans platforma sastāv no vairākiem konteineru slāņiem. Pirmais slānis ir logs, ko izmanto lietojumprogrammas pārvietošanai pa datora ekrānu. To sauc par augstākā līmeņa konteineru, un tā uzdevums ir visiem pārējiem konteineriem un grafiskajiem komponentiem dot vietu, kur strādāt. Parasti darbvirsmas lietojumprogrammām šis augstākā līmeņa konteiners tiks izgatavots, izmantojot
klase.
GUI dizainam varat pievienot neierobežotu skaitu slāņu, atkarībā no tā sarežģītības. Grafiskos komponentus (piemēram, tekstlodziņus, etiķetes, pogas) varat ievietot tieši
, vai arī varat grupēt tos citos konteineros.
GUI slāņi ir zināmi kā ierobežošanas hierarhija, un tos var uzskatīt par ciltskoku. Ja
ir vectēvs, kurš sēž augšpusē, tad nākamo trauku var uzskatīt par tēvu un komponentus, ko tas tur kā bērnus.
Šajā piemērā mēs izveidosim GUI ar
kas satur divus
un a
. Pirmais
rīkos a
un
. Otrais
rīkos a
un a
. Tikai viens
(un līdz ar to arī tajā esošie grafiskie komponenti) būs redzami vienlaikus. Poga tiks izmantota, lai pārslēgtu abu redzamību
.
Ir divi veidi, kā izveidot šo GUI, izmantojot NetBeans. Pirmais ir manuāli ievadīt Java kodu, kas apzīmē GUI, kas ir apskatīts šajā rakstā. Otrais ir izmantot NetBeans GUI Builder rīku, lai izveidotu Swing GUI.
Informāciju par JavaFX izmantošanu, nevis Swing, lai izveidotu GUI, skatiet Kas ir JavaFX??
Piezīme: Pilns šī projekta kods ir plkst Java koda piemērs vienkāršas GUI lietojumprogrammas izveidošanai.
NetBeans projekta iestatīšana
Izveidojiet jaunu Java Lietojumprogramma NetBeans ar galveno klasi Mēs to sauksim
Kontrolpunkts: NetBeans projektā logā jābūt augšējā līmeņa GuiApp1 mapei (ja nosaukums nav norādīts treknrakstā, ar peles labo pogu noklikšķiniet uz mapes un izvēlieties
). Zem
mapei vajadzētu būt Source Packages mapei ar
kuru sauc par GuiApp1. Šajā mapē ir galvenā klase, kuru sauc
.java.
Pirms pievienojam Java kodu, augšpusē pievienojiet šādus importa failus
klase, starp
līnija un
:
Šis imports nozīmē, ka visas klases, kas mums vajadzīgas, lai izveidotu šo GUI lietojumprogrammu, mums būs pieejamas lietošanai.
Pie galvenās metodes pievienojiet šo koda rindu:
Tas nozīmē, ka pirmais, kas jādara, ir izveidot jaunu
objekts. Tas ir jauks saīsne, piemēram, programmām, jo mums ir nepieciešama tikai viena klase. Lai tas darbotos, mums ir nepieciešams konstruktors
klasei, tāpēc pievienojiet jaunu metodi:
Šajā metodē mēs ievietosim visu Java kodu, kas nepieciešams GUI izveidošanai, tas nozīmē, ka turpmāk katra rindiņa atradīsies
metode.
Piezīme par dizainu: Jūs, iespējams, redzējāt publicētu Java kodu, kas parāda klasi (t.i.
) pagarināts no a
. Pēc tam šī klase tiek izmantota kā lietojumprogrammas galvenais GUI logs. Parastai GUI lietojumprogrammai tas tiešām nav jādara. Vienīgais laiks, kad vēlaties pagarināt
klase ir tad, ja jums ir jāveido konkrētāks veids
(Paskaties uz
lai iegūtu vairāk informācijas par apakšklases izveidošanu).
Kā jau minēts iepriekš, GUI ir lietojumprogrammas logs, kas izgatavots no
. Lai izveidotu
objektu, piezvaniet
konstruktors:
Tālāk mēs iestatīsim mūsu GUI lietojumprogrammu loga darbību, veicot šīs četras darbības:
1. Pārliecinieties, ka lietojumprogramma tiek aizvērta, kad lietotājs aizver logu, lai tā turpinātu darboties nezināma fonā:
2. Iestatiet loga nosaukumu, lai logam nebūtu tukša nosaukumjosla. Pievienojiet šo rindu:
3. Iestatiet loga izmēru tā, lai logs būtu tāda izmēra, lai tajā ietilptu grafiskās sastāvdaļas, kuras jūs tajā ievietojat.
Piezīme par dizainu: Alternatīva iespēja loga lieluma iestatīšanai ir piezvanīt
metode
klase. Šī metode aprēķina loga lielumu, pamatojoties uz tajā esošajiem grafiskajiem komponentiem. Tā kā šai programmas paraugam nav jāmaina tā loga izmērs, mēs vienkārši izmantosim
metode.
4. Centrējiet logu tā, lai tas parādās datora ekrāna vidū, lai tas neparādītos ekrāna augšējā kreisajā stūrī:
Divu JP paneļu pievienošana
Šeit izveidotas abas līnijas vērtības priekš
un
objektus, kurus drīzumā izveidosim, izmantojot divus
masīvi. Tas atvieglo dažu šo komponentu ierakstu aizpildīšanu:
Izveidojiet pirmo JPanel objektu
Tagad izveidosim pirmo
objekts. Tajā būs a
un a
. Visi trīs tiek veidoti, izmantojot to konstruktora metodes:
Piezīmes par iepriekšminētajām trim rindām:
-
JPanel
mainīgais tiek deklarēts fināls. Tas nozīmē, ka mainīgais var turēt tikaiJPanel
kas ir izveidots šajā rindā. Rezultātā mainīgo var izmantot iekšējā klasē. Kļūs skaidrs, kāpēc mēs vēlamies vēlāk iekļauties kodā. -
JLabel
unJComboBox
ir vērtības, kas viņiem nodotas, lai iestatītu grafiskās īpašības. Etiķete parādīsies kā "Augļi:", un kombinētajā lodziņā tagad būs vērtības, kas ietvertasaugļiOpcijas
masīvs, kas deklarēts iepriekš. -
pievienot ()
metodeJPanel
ievieto tajā grafiskos komponentus. AJPanel
kā noklusējuma izmanto FlowLayout izkārtojuma vadītājs. Tas ir lieliski šajā lietojumprogrammā, jo mēs vēlamies, lai etiķete atrodas blakus kombinētajam lodziņam. Kamēr mēs pievienojamJLabel
pirmkārt, tas izskatīsies labi:
Izveidojiet otro JPanel objektu
Otrais
seko tam pašam modelim. Mēs pievienosim a
un a
un iestatiet šo sastāvdaļu vērtības kā “Dārzeņi:” un otro
masīvs
. Vienīgā atšķirība ir
metode, lai paslēptu
. Neaizmirstiet, ka būs a
kontrolējot abu redzamību
. Lai tas darbotos, cilvēkam sākumā jābūt neredzamam. Pievienojiet šīs līnijas, lai iestatītu otro
:
Viena rindiņa, kuru vērts atzīmēt iepriekš minētajā kodā, ir
metode
.
vērtība liek sarakstam parādīt tajā esošos vienumus divās kolonnās. To sauc par "laikrakstu stilu", un tas ir jauks veids, kā parādīt vienumu sarakstu, nevis tradicionālāku vertikālo kolonnu.
Apdares materiālu pievienošana
Pēdējais nepieciešamais komponents ir
kontrolēt
s. Vērtība, kas nodota
konstruktors iestata pogas etiķeti:
Šī ir vienīgā sastāvdaļa, kurai būs definēts notikumu klausītājs. "Notikums" notiek, kad lietotājs mijiedarbojas ar grafisko komponentu. Piemēram, ja lietotājs noklikšķina uz pogas vai ieraksta tekstu tekstlodziņā, notiek notikums.
Pasākuma klausītājs aplikācijai norāda, kā rīkoties, ja notikums notiek.
izmanto klasi ActionListener, lai “noklausītos” lietotāja klikšķi.
Izveidojiet notikumu klausītāju
Tā kā šī lietojumprogramma veic vienkāršu uzdevumu, kad tiek noklikšķināta uz pogas, mēs varam izmantot anonīmu iekšējo klasi, lai definētu notikuma klausītāju:
Tas var izskatīties kā biedējošs kods, bet jums tas vienkārši ir jāsadala, lai redzētu notiekošo:
- Pirmkārt, mēs saucam par
addActionListener
metodeDžButons
. Šī metode paredzActionListener
klase, kas ir tā klase, kas klausās notikumu. - Tālāk mēs izveidojam
ActionListener
klasei, deklarējot jaunu objektu, izmantojotjauns ActionListener ()
un pēc tam nodrošinot anonīmu iekšējo klasi - tas ir viss kods cirtainu iekavās. - Anonīmā iekšējā klasē pievienojiet metodi ar nosaukumu
actionPerformed ()
. Šī ir metode, kas tiek izsaukta, noklikšķinot uz pogas. Viss, kas nepieciešams šajā metodē, ir izmantotsetVisible ()
mainīt redzamībuJPanel
s.
Pievienojiet JFrame JP paneļus
Visbeidzot, mums jāpievieno divi
smiltis
uz
. Pēc noklusējuma a
izmanto BorderLayout izkārtojumu pārvaldnieku. Tas nozīmē, ka ir pieci apgabali (trīs rindās)
kas var saturēt grafisko komponentu (NORTH, {WEST, CENTER, EAST}, SOUTH). Norādiet šo apgabalu, izmantojot
metode:
Iestatiet JFrame kā redzamu
Visbeidzot, viss iepriekš minētais kods būs veltīgs, ja mēs nenosakām
būt redzamam:
Tagad mēs esam gatavi palaist NetBeans projektu, lai parādītu lietojumprogrammas logu. Noklikšķinot uz pogas, tiks pārslēgts rādīt kombinēto lodziņu vai sarakstu.