Graafinen käyttöliittymä (GUI), joka on rakennettu Java NetBeans -alusta koostuu useista säiliökerroksista. Ensimmäinen kerros on ikkuna, jota käytetään sovelluksen siirtämiseen tietokoneen näytön ympärille. Tätä kutsutaan ylimmän tason kontiksi, ja sen tehtävänä on antaa kaikille muille säiliöille ja graafisille komponenteille paikka työskennellä. Tyypillisesti työpöytäsovelluksissa tämä ylimmän tason kontti tehdään käyttämällä
luokka.
Voit lisätä minkä tahansa määrän tasoja GUI-malliin sen monimutkaisuudesta riippuen. Voit sijoittaa graafisia komponentteja (esim. Tekstikentät, tarrat, painikkeet) suoraan
, tai voit ryhmitellä ne muihin säilöihin.
GUI-tasot tunnetaan eristämishierarkiana ja niitä voidaan pitää sukupuuna. Jos
on isoisä, joka istuu yläreunassa, seuraavaa astiaa voidaan pitää isänä ja komponentteja, joita se pitää lapsina.
Tässä esimerkissä rakennamme graafisen käyttöliittymän a
sisältää kaksi
ja a
. Ensimmäinen
pitää a
ja
. Toinen
pitää a
ja a
. Vain yksi
(ja siten sen sisältämät graafiset komponentit) näkyvät kerrallaan. Painikkeella kytketään näiden kahden näkyvyys
.
On kaksi tapaa rakentaa tämä käyttöliittymä NetBeansin avulla. Ensimmäinen on kirjoittaa manuaalisesti GUI: ta edustava Java-koodi, jota tässä artikkelissa käsitellään. Toinen on käyttää NetBeans GUI Builder -työkalua Swing-käyttöliittymien rakentamiseen.
Tietoja JavaFX: n käyttämisestä Swingin sijaan graafisen käyttöliittymän luomiseen, katso Mikä on JavaFX?
Huomautus: Tämän projektin täydellinen koodi on osoitteessa Esimerkki Java-koodista yksinkertaisen GUI-sovelluksen rakentamiseksi.
NetBeans-projektin perustaminen
Luoda uusi Jaava Sovellusprojekti NetBeansissa pääluokan kanssa Me kutsutaan projektiin
Tarkastuspiste: NetBeansin Projects-ikkunassa tulisi olla ylimmän tason GuiApp1-kansio (jos nimi ei ole lihavoitu, napsauta hiiren kakkospainikkeella kansiota ja valitse
). Alla
-kansion tulisi olla Source Packages -kansio
nimeltään GuiApp1. Tämä kansio sisältää pääluokan nimeltä
.java.
Lisää seuraavat tuonnit ennen Java-koodin lisäämistä
luokan välillä
linja ja
:
Tämä tuonti tarkoittaa, että kaikki nämä GUI-sovelluksen tekemiseen tarvittavat luokat ovat käytettävissämme.
Lisää päämenetelmään tämä koodirivi:
Tämä tarkoittaa, että ensimmäinen tehtävä on luoda uusi
esine. Se on mukava oikotie esimerkiksi ohjelmiin, koska tarvitsemme vain yhden luokan. Jotta tämä toimisi, tarvitsemme rakentajan
luokan, joten lisää uusi menetelmä:
Tässä menetelmässä laitamme kaikki graafisen käyttöliittymän luomiseen tarvittavat Java-koodit, mikä tarkoittaa, että jokainen rivi on tästä lähtien
menetelmä.
Suunnitteluhuomautus: Olet ehkä nähnyt julkaistun Java-koodin, joka näyttää luokan (ts.
) jatkettu a
. Tätä luokkaa käytetään sitten sovelluksen pääasiallisena käyttöliittymänä. Tätä ei todellakaan tarvitse tehdä normaalille käyttöliittymäsovellukselle. Ainoa aika, jonka haluat jatkaa
luokka on, jos sinun on tehtävä tarkempi tyyppi
(Katso
lisätietoja alaluokan tekemisestä).
Kuten aikaisemmin mainittiin, GUI on sovellusikkuna, joka on valmistettu
. Voit luoda
esine, soita
rakentaja:
Seuraavaksi asetamme GUI-sovellusikkunan käyttäytymisen seuraavilla neljällä vaiheella:
1. Varmista, että sovellus sulkeutuu, kun käyttäjä sulkee ikkunan, jotta se ei jatka tuntemattomana taustalla:
2. Aseta ikkunan otsikko, jotta ikkunassa ei ole tyhjää otsikkopalkkia. Lisää tämä rivi:
3. Aseta ikkunan koko siten, että ikkuna on kooltaan sopiva graafisiin komponentteihin.
Suunnitteluhuomautus: Vaihtoehtoinen vaihtoehto ikkunan koon asettamiselle on soittaa
menetelmä
luokka. Tämä menetelmä laskee ikkunan koon sen sisältämien graafisten komponenttien perusteella. Koska tämän esimerkkisovelluksen ei tarvitse muuttaa ikkunan kokoa, käytämme vain
menetelmä.
4. Keskitä ikkuna näkyviin tietokoneen näytön keskelle niin, että se ei tule näytön vasempaan yläkulmaan:
Kaksi JPanelia lisäämällä
Nämä kaksi riviä luovat arvot varten
ja
objektit, jotka luomme pian, käyttämällä kahta
taulukot. Tämän avulla on helpompaa täyttää joitain näiden komponenttien esimerkkejä:
Luo ensimmäinen JPanel-objekti
Nyt luodaan ensimmäinen
esine. Se sisältää
ja a
. Kaikki kolme luodaan rakentajamenetelminsä:
Huomautuksia kolmesta edellä mainitusta rivistä:
-
JPanel
muuttuja on ilmoitettu lopullinen. Tämä tarkoittaa, että muuttuja voi pitää vainJPanel
se on luotu tälle riville. Tuloksena on, että voimme käyttää muuttujaa sisäluokassa. Tulee ilmeiseksi, miksi haluamme myöhemmin sisällyttää koodiin. -
JLabel
jaJComboBox
on annettu arvot heille graafisten ominaisuuksien asettamiseksi. Tarra näkyy nimellä "Hedelmät:" ja yhdistelmälaatikon arvot ovat nytfruitOptions
aikaisemmin ilmoitettu ryhmä. -
lisätä()
menetelmäJPanel
sijoittaa siihen graafiset komponentit.JPanel
käyttää FlowLayoutia oletusarvoon layout manager. Tämä sopii tälle sovellukselle, koska haluamme etiketin istuvan yhdistelmälaatikon viereen. Niin kauan kuin lisäämmeJLabel
Ensinnäkin se näyttää hyvältä:
Luo toinen JPanel-objekti
Toinen
noudattaa samaa mallia. Lisäämme
ja a
ja aseta näiden komponenttien arvot "Vihannekset:" ja toiseksi
ryhmä
. Ainoa toinen ero on
menetelmä piilottaa
. Älä unohda siellä on
näiden kahden näkyvyyden hallinta
. Jotta tämä toimisi, ihmisen on oltava näkymätön alussa. Lisää nämä rivit asettaaksesi toisen
:
Yksi mainitsemisen arvoinen rivi yllä olevassa koodissa on
menetelmä
.
arvo saa luettelon näyttämään sen sisältämät kohteet kahdessa sarakkeessa. Tätä kutsutaan "sanomalehtityyliksi" ja se on hieno tapa näyttää luettelo esineistä perinteisen pystysuuntaisen sarakkeen sijasta.
Viimeistelyohjeiden lisääminen
Viimeinen tarvittava komponentti on
- ohjata
s. Arvo siirretty
rakentaja asettaa painikkeen etiketin:
Tämä on ainoa komponentti, jolla tapahtumankuuntelija määritetään. "Tapahtuma" tapahtuu, kun käyttäjä on vuorovaikutuksessa graafisen komponentin kanssa. Esimerkiksi, jos käyttäjä napsauttaa painiketta tai kirjoittaa tekstiä tekstikenttään, tapahtuu tapahtuma.
Tapahtuman kuuntelija kertoo sovellukselle, mitä tehdä, kun tapahtuma tapahtuu.
käyttää ActionListener-luokkaa "kuuntelemaan" käyttäjän napsautusta.
Luo tapahtuman kuuntelija
Koska tämä sovellus suorittaa yksinkertaisen tehtävän, kun painiketta napsautetaan, voimme määrittää tapahtuman kuuntelijan nimettömän sisäisen luokan avulla:
Tämä voi näyttää pelottavasta koodista, mutta sinun on vain purettava se nähdäksesi mitä tapahtuu:
- Ensin kutsumme
addActionListener
menetelmäJButton
. Tämä menetelmä odottaa esiintymänActionListener
luokka, joka on luokka, joka kuuntelee tapahtumaa. - Seuraavaksi luomme
ActionListener
luokka julistamalla uuden objektinuusi ActionListener ()
ja sitten anonyymin sisäluokan tarjoaminen - joka on kaikki koodi kiharaten suluissa. - Lisää nimettömän sisäisen luokan sisään menetelmä nimeltään
actionPerformed ()
. Tätä menetelmää kutsutaan, kun painiketta napsautetaan. Kaikki mitä tarvitaan tässä menetelmässä on käyttääsetVisible ()
muuttaa näytön näkyvyyttäJPanel
s.
Lisää JP-paneelit JFrame-kehykseen
Lopuksi meidän on lisättävä nämä kaksi
s ja
että
. Oletusarvoisesti a
käyttää BorderLayout-asetteluhallintaa. Tämä tarkoittaa, että ohjelmassa on viisi aluetta (kolmella rivillä)
joka voi sisältää graafisen komponentin (NORTH, {WEST, CENTER, EAST}, SOUTH). Määritä tämä alue painikkeella
menetelmä:
Aseta JFrame olemaan näkyvä
Lopuksi, kaikki yllä oleva koodi on ollut turha, jos emme määritä
olla näkyvissä:
Nyt olemme valmiita ajamaan NetBeans-projektin sovellusikkunan näyttämiseksi. Napsauttamalla painiketta, voit siirtyä yhdistelmälaatikon tai luettelon näyttämisen välillä.