Yksinkertaisen Java-graafisen käyttöliittymän koodaaminen

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

instagram viewer

.

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ää vain
    JPanel
    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
    ja
    JComboBox
    on annettu arvot heille graafisten ominaisuuksien asettamiseksi. Tarra näkyy nimellä "Hedelmät:" ja yhdistelmälaatikon arvot ovat nyt
    fruitOptions
    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äämme
    JLabel
    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än
    ActionListener
    luokka, joka on luokka, joka kuuntelee tapahtumaa.
  • Seuraavaksi luomme
    ActionListener
    luokka julistamalla uuden objektin
    uusi 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ä.

instagram story viewer