Glavna funkcija pogovornega okna je, da aplikacija ali spletno mesto pridobi nekaj vnosa od uporabnika. Ta vnos je lahko potrditev, da so prebrali sporočilo ali nekaj, kar vnesejo v besedilno območje.

Pogovorno okno takoj pritegne pozornost uporabnika. Je odlično orodje za zbiranje ali prikazovanje pomembnih informacij.

Java je raznolik jezik, ki ponuja več razredov za ustvarjanje pogovornih oken. Ti razredi vključujejo JOptionPane, JDialog in JFrame.

Razred JOptionPane

Standardno pogovorno okno lahko ustvarite z eno od več statičnih metod, ki pripadajo razredu JOptionPane. Tej vključujejo:

  • showMessageDialog(), ki uporabniku posreduje sporočilo.
  • showConfirmDialog(), ki postavlja vprašanje, ki zahteva potrditev.
  • showInputDialog(), ki uporabnika pozove k vnosu.
  • showOptionDialog(), ki je kombinacija treh drugih metod.

Ustvarjanje pogovornega okna JOptionPane

uvoz javax.swing. JFrame;
uvoz javax.swing. JOptionPane;

javnostirazredJOptionPaneApp{
JOptionPaneApp() {
Okvir JFrame = novo JFrame();
JOptionPane.showMessageDialog (okvir, "To je okno sporočila JOptionPane.");
}

instagram viewer

javnostistatičnaničnaglavni(args niz[]){
novo JOptionPaneApp();
}
}

Zgornja koda ustvari naslednje pogovorno okno:

Čeprav JOptionPane ponuja standardna pogovorna okna, ima veliko možnosti, ki vam omogočajo, da prilagodite njegovo vedenje. Na primer, pogovorno okno sporočila je lahko eno od več vrst. Zgornji primer je primer INFORMATION_MESSAGE, kar je privzeto. Druge vrste sporočil so:

  • OBVESTILO O NAPAKI
  • WARNING_MESSAGE
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

Ustvarjanje sporočila o napaki

Tukaj je primer, kako uporabiti drugo vrsto sporočila za pogovorno okno JOptionPane:

JOptionPane.showMessageDialog (okvir, "To je okno s sporočilom o napaki JOptionPane.",
"Napaka", JOptionPane. OBVESTILO O NAPAKI);

Zamenjajte showMessageDialog() vrstico v izvirnem programu z zgornjo vrstico kode in videli boste naslednje pogovorno okno z napako:

Razred JDialog

Razred JDialog vam omogoča ustvarjanje pogovornih oken po meri. tole Java razred spada v javax.swing paket in razširi razred Dialog. Ima dostop do številnih neposrednih in posrednih metod. Ta razred Java ima skupno 16 konstruktorji Java.

Poleg privzetega konstruktorja vsak od 15 drugih vzame okvir, okno ali pogovorno okno s kombinacijo več drugih argumentov.

Primarni konstruktorji JDialog vključujejo:

  • JDialog() ustvari pogovorno okno brez okvirja, naslova ali načina.
  • JDialog (lastnik pogovornega okna, naslov niza, logični modalni) ustvari pogovorno okno z lastnikom pogovornega okna, naslovom niza in načinom.
  • JDialog (lastnik okvirja, naslov niza, logični modalni) ustvari pogovorno okno z lastnikom okvirja, naslovom niza in načinom.
  • JDialog (lastnik okna, naslov niza, logični modalni) ustvari pogovorno okno z lastnikom okna, naslovom niza in načinom.

Ustvarjanje pogovornega okna JDialog

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

javnostirazredJDialogApp{
JDialogApp() {
Okvir JFrame = novo JFrame();
Pogovorno okno JDialog = novo JDialog (okvir, prav);
dialog.setLayout(novo FlowLayout());

JLabel displayText = novo JLabel("To je okno JDialog.");
JButton btn = novo JButton("V redu");

btn.addActionListener(novo ActionListener() {
javnostiničnadejanje Izvedeno(ActionEvent e){
dialog.setVisible(napačno);
}
});

dialog.add (displayText);
dialog.add (btn);

dialog.setSize(200,150);
dialog.setTitle("Pogovorno okno");
dialog.setVisible(prav);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}

javnostistatičnaničnaglavni(Argumenti niza[]){
novo JDialogApp();
}
}

Zgornja koda ustvari naslednje pogovorno okno:

Obstaja več pomembnih vidikov kode, ki jih morate upoštevati. Program uporablja JDialog (lastnik okvirja, Boolean modal) konstruktor, na katerega gre a JFrame in "pravo" vrednost kot argumente. JFrame je lastnik JDialog, kar pomeni, da je odgovoren za prikaz pogovornega okna. Vrednost »true« pomeni, da pogovorno okno blokira vnos v druga sorodna okna, ko se prikaže.

Konstruktor v zgornji kodi ne vzame naslova kot argumenta. Vendar pa lastnik okvirja potrebuje naslov. Torej, za to nalogo lahko uporabite setTitle() metodo, ki je na voljo prek razreda Dialog, ki ga razširi JDialog. Druge pomembne metode v kodi so setVisible(), setSize(), in setDefaultCloseOperation().

setVisible ima logično vrednost in je odgovoren za prikaz okvirja. setSize prevzame višino in širino pogovornega okna. setDefaultCloseOperation sprejme eno od treh vrednosti, da odloči, kaj se zgodi, ko uporabnik zapre pogovorno okno.

Razred JFrame

JDialog in JOptionPane uporabljata razred JFrame za ustvarjanje pogovornih oken. Vendar lahko razred JFrame sam ustvari pogovorna okna. Razred JFrame razširja razred Frame in vam, podobno kot razred JDialog, omogoča ustvarjanje pogovornih oken po meri.

JFrame ima štiri konstruktorje in več neposrednih in posrednih metod, ki jih boste morali uporabiti za ustvarjanje pogovornega okna.

Ustvarjanje pogovornega okna JFrame

uvoz java.awt.event. ActionEvent;
uvoz java.awt.event. ActionListener;

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

javnostirazredJFrameApp{
JFrameApp() {
Okvir JFrame = novo JFrame();
frame.setTitle("Pogovorno okno");
Plošča JPanel = novo JPanel();

JLabel displayText = novo JLabel("To je okno JFrame.");
panel.add (displayText);
JButton btn = novo JButton("Gumb OK");

btn.addActionListener(novo ActionListener() {
javnostiničnadejanje Izvedeno(ActionEvent e){
frame.setVisible(napačno);
}
});

panel.add (btn);

okvir.dodaj (plošča);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(prav);
}

javnostistatičnaničnaglavni(args niz[]){
novo JFrameApp();
}
}

Zgornja koda ustvari naslednje pogovorno okno:

Koda uporablja privzeti konstruktor JFrame in več znanih metod, kot je setTitle() metoda (uporabljena v zgornji aplikaciji JDialog). Neznan predmet v zgornjem programu je JPanel, ki je splošni vsebnik. To daje JFrameu fleksibilnost za dodajanje več postavitev in komponent v okvir.

The ActionListener() in actionPerformed() metode obravnavajo dogodek, ko uporabnik klikne na v redu gumb.

Kateri razred Java je najboljši za ustvarjanje pogovornih oken?

Edini namen razreda JOptionPane je narediti postopek ustvarjanja pogovornega okna bolj priročen za razvijalce Java. Če pa potrebujete bolj prilagojeno pogovorno okno, je razred JDialog naslednja najboljša možnost.

Razred JFrame ustvarja uporabniške vmesnike, vendar ga lahko uporabite za ustvarjanje številnih različnih elementov GUI, vključno s pogovornimi okni.

Pogovorno okno, ustvarjeno z razredom JFrame, ima pomanjšano ikono, druga pa ne. Če želite modalno pogovorno okno, v katerem mora uporabnik ukrepati, preden dokonča nalogo, potem JFrame ni najboljši pristop.

Kako napisati svojo prvo aplikacijo Java GUI 

Preberite Naprej

DelitiTweetDelitiE-naslov

Povezane teme

  • Programiranje
  • Programiranje
  • Java
  • Vadnice za kodiranje

O avtorju

Kadeisha Kean (Objavljenih 56 člankov)

Kadeisha Kean je razvijalka programske opreme s celotnim skladom in pisateljica tehničnega/tehnološkega področja. Ima izrazito sposobnost poenostavitve nekaterih najbolj zapletenih tehnoloških konceptov; izdelava materiala, ki ga lahko zlahka razume vsak novinec v tehnologiji. Navdušena je nad pisanjem, razvojem zanimive programske opreme in potovanjem po svetu (skozi dokumentarne filme).

Več od Kadeishe Kean

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite