Valintaikkunan päätehtävä on, että sovellus tai verkkosivusto hakee syötteitä käyttäjältä. Tämä syöttö voi olla vahvistus siitä, että he ovat lukeneet viestin tai jotain, jonka he kirjoittavat tekstialueelle.

Valintaikkuna vangitsee käyttäjän huomion välittömästi. Se on täydellinen työkalu tärkeiden tietojen keräämiseen tai näyttämiseen.

Java on monipuolinen kieli, joka tarjoaa useita luokkia valintaikkunoiden luomiseen. Näitä luokkia ovat JOptionPane, JDialog ja JFrame.

JOptionPane-luokka

Voit luoda vakiovalintaikkunan käyttämällä yhtä useista JOptionPane-luokkaan kuuluvista staattisista menetelmistä. Nämä sisältävät:

  • showMessageDialog(), joka välittää viestin käyttäjälle.
  • showConfirmDialog(), joka esittää kysymyksen, joka vaatii vahvistusta.
  • showInputDialog(), joka kehottaa käyttäjää syöttämään.
  • showOptionDialog(), joka on kolmen muun menetelmän yhdistelmä.

JOptionPane-valintaikkunan luominen

tuonti javax.swing. JFrame;
tuonti javax.swing. JOptionPane;

julkinenluokkaaJOptionPaneApp{
JOptionPaneApp() {


JFrame-kehys = Uusi JFrame();
JOptionPane.showMessageDialog (kehys, "Tämä on JOptionPane-viestiikkuna.");
}

julkinenstaattinenmitätönpää(merkkijono[] args){
Uusi JOptionPaneApp();
}
}

Yllä oleva koodi luo seuraavan valintaikkunan:

Vaikka JOptionPane tarjoaa vakiovalintaikkunat, siinä on monia vaihtoehtoja, joiden avulla voit säätää sen toimintaa. Esimerkiksi viestivalintaikkuna voi olla yksi useista tyypeistä. Yllä oleva on esimerkki an INFORMATION_MESSAGE, joka on oletusarvo. Muut viestityypit ovat:

  • VIRHEVIESTI
  • WARNING_MESSAGE
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

Virheilmoituksen luominen

Tässä on esimerkki eri viestityypin käyttämisestä JOptionPane-valintaikkunassa:

JOptionPane.showMessageDialog (kehys, "Tämä on JOptionPane-virheilmoitusikkuna.",
"Virhe", JOptionPane. VIRHEVIESTI);

Korvata showMessageDialog() rivi alkuperäisessä ohjelmassa yllä olevan koodirivin kanssa, ja näet seuraavan virheikkunan:

JDialog-luokka

JDialog-luokan avulla voit luoda mukautettuja valintaikkunoita. Tämä Java luokka kuuluu javax.swing paketti ja laajentaa Dialog-luokkaa. Sillä on pääsy laajaan valikoimaan suoria ja epäsuoria menetelmiä. Tässä Java-luokassa on yhteensä 16 Java-konstruktorit.

Oletuskonstruktorin lisäksi jokainen 15 muusta ottaa kehyksen, ikkunan tai valintaikkunan useiden muiden argumenttien yhdistelmällä.

Ensisijaisia ​​JDialog-konstruktoreja ovat:

  • JDialog() luo valintaikkunan ilman kehystä, otsikkoa tai tilaa.
  • JDialog (dialogin omistaja, merkkijonon otsikko, boolen modaali) luo valintaikkunan, jossa on valintaikkunan omistaja, merkkijonon otsikko ja tila.
  • JDialog (kehyksen omistaja, merkkijonon nimi, boolen modaali) luo valintaikkunan, jossa on kehyksen omistaja, merkkijonon otsikko ja tila.
  • JDialog (ikkunan omistaja, merkkijonon otsikko, boolen modaali) luo valintaikkunan, jossa on ikkunan omistaja, merkkijonon otsikko ja tila.

JDialog-valintaikkunan luominen

tuonti java.awt. FlowLayout;
tuonti java.awt.event. ActionEvent;
tuonti java.awt.event. ActionListener;
tuonti javax.swing. JButton;
tuonti javax.swing. JDialog;
tuonti javax.swing. JFrame;
tuonti javax.swing. JLabel;
tuonti javax.swing. WindowConstants;

julkinenluokkaaJDialogApp{
JDialogApp() {
JFrame-kehys = Uusi JFrame();
JDialog-valintaikkuna = Uusi JDialog (kehys, totta);
dialog.setLayout(Uusi FlowLayout());

JLabel displayText = Uusi JLabel("Tämä on JDialog-ikkuna.");
JButton btn = Uusi JButton("OK");

btn.addActionListener(Uusi ActionListener() {
julkinenmitätöntoiminta suoritettu(ActionEvent e){
dialog.setVisible(väärä);
}
});

dialog.add (näyttöteksti);
dialog.add (btn);

dialog.setSize(200,150);
dialog.setTitle("Dialogi-ikkuna");
dialog.setVisible(totta);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}

julkinenstaattinenmitätönpää(Joukarit[]){
Uusi JDialogApp();
}
}

Yllä oleva koodi luo seuraavan valintaikkunan:

Koodissa on useita tärkeitä näkökohtia, jotka sinun tulee huomioida. Ohjelma käyttää JDialog (kehyksen omistaja, Boolen modaali) rakentaja, jolle se siirtyy a JFrame ja "tosi" arvo argumentteina. JFrame on JDialogin omistaja, mikä tarkoittaa, että se on vastuussa valintaikkunan näyttämisestä. "True"-arvo tarkoittaa, että valintaikkuna estää syöttämisen muihin vastaaviin ikkunoihin, kun se näkyy.

Yllä olevan koodin rakentaja ei ota argumentiksi otsikkoa. Kehyksen omistaja tarvitsee kuitenkin tittelin. Joten tähän tehtävään voit käyttää setTitle() menetelmä, joka on saatavilla Dialog-luokan kautta, jota JDialog laajentaa. Muut koodin tärkeät menetelmät ovat setVisible(), setSize(), ja setDefaultCloseOperation().

setVisible ottaa Boolen arvon ja vastaa kehyksen näyttämisestä. setSize ottaa valintaikkunan korkeuden ja leveyden. setDefaultCloseOperation ottaa yhden kolmesta arvosta päättääkseen, mitä tapahtuu, kun käyttäjä sulkee valintaikkunan.

JFrame-luokka

JDialog ja JOptionPane käyttävät molemmat JFrame-luokkaa valintaikkunoiden luomiseen. JFrame-luokka voi kuitenkin luoda valintaikkunoita yksinään. JFrame-luokka laajentaa Frame-luokkaa ja, aivan kuten JDialog-luokka, sen avulla voit luoda mukautettuja valintaikkunoita.

JFramessa on neljä konstruktoria ja useita suoria ja epäsuoria menetelmiä, joita sinun on käytettävä valintaikkunan luomiseen.

JFrame-valintaikkunan luominen

tuonti java.awt.event. ActionEvent;
tuonti java.awt.event. ActionListener;

tuonti javax.swing. JButton;
tuonti javax.swing. JFrame;
tuonti javax.swing. JLabel;
tuonti javax.swing. JPanel;
tuonti javax.swing. WindowConstants;

julkinenluokkaaJFrameApp{
JFrameApp() {
JFrame-kehys = Uusi JFrame();
frame.setTitle("Dialogi-ikkuna");
JPanel-paneeli = Uusi JPanel();

JLabel displayText = Uusi JLabel("Tämä on JFrame-ikkuna.");
panel.add (näyttöteksti);
JButton btn = Uusi JButton("OK-painike");

btn.addActionListener(Uusi ActionListener() {
julkinenmitätöntoiminta suoritettu(ActionEvent e){
frame.setVisible(väärä);
}
});

panel.add (btn);

frame.add (paneeli);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(totta);
}

julkinenstaattinenmitätönpää(merkkijono[] args){
Uusi JFrameApp();
}
}

Yllä oleva koodi luo seuraavan valintaikkunan:

Koodi käyttää oletusarvoista JFrame-konstruktoria ja useita tuttuja menetelmiä, kuten setTitle() menetelmä (käytetään yllä olevassa JDialog-sovelluksessa). Tuntematon objekti yllä olevassa ohjelmassa on JPanel, joka on yleinen säiliö. Tämä antaa JFramelle joustavuuden lisätä kehykseen useita asetteluja ja komponentteja.

The ActionListener() ja suoritettu toiminta() menetelmät käsittelevät tapahtuman, jossa käyttäjä napsauttaa OK -painiketta.

Mikä Java-luokka on paras valintaikkunoiden luomiseen?

JOptionPane-luokan ainoa tarkoitus on tehdä valintaikkunan luontiprosessista mukavampi Java-kehittäjille. Jos kuitenkin tarvitset mukautetun valintaikkunan, JDialog-luokka on seuraavaksi paras vaihtoehto.

JFrame-luokka luo käyttöliittymät, mutta voit käyttää sitä luomaan monia erilaisia ​​graafisen käyttöliittymän elementtejä, mukaan lukien valintaikkunat.

JFrame-luokassa luodussa valintaikkunassa on pienennetty kuvake, kun taas muissa ei ole. Jos haluat modaalisen valintaikkunan, jossa käyttäjän on toimittava ennen tehtävän suorittamista, JFrame ei ole paras tapa.

Kuinka kirjoittaa ensimmäinen Java GUI -sovellus 

Lue Seuraava

JaaTweetJaaSähköposti

Liittyvät aiheet

  • Ohjelmointi
  • Ohjelmointi
  • Java
  • Koodauksen opetusohjelmat

Kirjailijasta

Kadeisha Kean (56 artikkelia julkaistu)

Kadeisha Kean on Full-Stack-ohjelmistokehittäjä ja tekninen/teknologiakirjoittaja. Hänellä on selkeä kyky yksinkertaistaa joitain monimutkaisimmista teknologisista käsitteistä; tuottaa materiaalia, jonka jokainen teknologia-aloittelija voi helposti ymmärtää. Hän on intohimoinen kirjoittamiseen, mielenkiintoisten ohjelmistojen kehittämiseen ja maailmalla matkustamiseen (dokumenttien kautta).

Lisää Kadeisha Keanilta

tilaa uutiskirjeemme

Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja eksklusiivisia tarjouksia!

Klikkaa tästä tilataksesi