Hlavnou funkciou dialógového okna je, aby aplikácia alebo webová lokalita získala nejaký vstup od používateľa. Tento vstup môže byť potvrdením, že si prečítali správu alebo niečo, čo zadajú do textovej oblasti.

Dialógové okno okamžite upúta pozornosť používateľa. Je to dokonalý nástroj na zhromažďovanie alebo zobrazovanie dôležitých informácií.

Java je rôznorodý jazyk, ktorý poskytuje niekoľko tried na vytváranie dialógových okien. Tieto triedy zahŕňajú JOptionPane, JDialog a JFrame.

Trieda JOptionPane

Štandardné dialógové okno môžete vytvoriť pomocou jednej z niekoľkých statických metód patriacich do triedy JOptionPane. Tie obsahujú:

  • showMessageDialog(), ktorá odošle správu používateľovi.
  • showConfirmDialog(), ktorý kladie otázku, ktorá vyžaduje potvrdenie.
  • showInputDialog(), ktorý vyzve používateľa na zadanie.
  • showOptionDialog(), čo je kombinácia troch ďalších metód.

Vytvorenie dialógového okna JOptionPane

importovať javax.hojdačka. JFrame;
importovať javax.hojdačka. JOptionPane;

verejnostitriedaAplikácia JOptionPaneApp

instagram viewer
{
JOptionPaneApp() {
Rám JFrame = Nový JFrame();
JOptionPane.showMessageDialog (rámec, "Toto je okno správy JOptionPane.");
}

verejnostistatickéneplatnéHlavná(Reťazec[] argumentov){
Nový JOptionPaneApp();
}
}

Vyššie uvedený kód vytvorí nasledujúce dialógové okno:

Hoci JOptionPane poskytuje štandardné dialógové okná, má veľa možností, ktoré vám umožňujú vyladiť jeho správanie. Napríklad dialógové okno správy môže mať jeden z niekoľkých typov. Ten vyššie je príkladom an INFORMATION_MESSAGE, čo je predvolené nastavenie. Ďalšie typy správ sú:

  • CHYBNÁ SPRÁVA
  • WARNING_MESSAGE
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

Vytvorenie chybového hlásenia

Tu je príklad použitia iného typu správy pre dialógové okno JOptionPane:

JOptionPane.showMessageDialog (rámec, "Toto je okno chybového hlásenia JOptionPane.",
"Chyba", JOptionPane. CHYBNÁ SPRÁVA);

Vymeňte showMessageDialog() riadok v pôvodnom programe s riadkom kódu vyššie a uvidíte nasledujúce chybové dialógové okno:

Trieda JDialog

Trieda JDialog vám umožňuje vytvárať vlastné dialógové okná. Toto Java trieda patrí k javax.hojdačka balík a rozširuje triedu Dialog. Má prístup k širokej škále priamych a nepriamych metód. Táto trieda Java má celkovo 16 Konštruktéri Java.

Okrem predvoleného konštruktora má každý z 15 ďalších rámec, okno alebo dialógové okno s kombináciou niekoľkých ďalších argumentov.

Medzi primárne konštruktory JDialog patria:

  • JDialog() vytvorí dialógové okno bez rámčeka, nadpisu alebo režimu.
  • JDialog (vlastník dialógového okna, názov reťazca, booleovský modálny) vytvorí dialógové okno s vlastníkom dialógu, názvom reťazca a režimom.
  • JDialog (vlastník rámca, názov reťazca, booleovský modálny) vytvorí dialógové okno s vlastníkom rámca, názvom reťazca a režimom.
  • JDialog (vlastník okna, názov reťazca, booleovský modálny) vytvorí dialógové okno s vlastníkom okna, názvom reťazca a režimom.

Vytvorenie dialógového okna JDialog

importovať java.awt. FlowLayout;
importovať java.awt.udalosť. ActionEvent;
importovať java.awt.udalosť. ActionListener;
importovať javax.hojdačka. JButton;
importovať javax.hojdačka. JDialog;
importovať javax.hojdačka. JFrame;
importovať javax.hojdačka. JLabel;
importovať javax.hojdačka. WindowConstants;

verejnostitriedaJDialogApp{
JDialogApp() {
Rám JFrame = Nový JFrame();
Dialógové okno JDialog = Nový JDialog (rám, pravda);
dialog.setLayout(Nový FlowLayout());

JLabel displayText = Nový JLabel("Toto je okno JDialog.");
JButton btn = Nový JButton("OK");

btn.addActionListener(Nový ActionListener() {
verejnostineplatnéakciaVykonaná(AkciaUdalosť e){
dialog.setVisible(falošné);
}
});

dialog.add (zobrazitText);
dialog.add (btn);

dialog.setSize(200,150);
dialog.setTitle("Dialógové okno");
dialog.setVisible(pravda);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}

verejnostistatickéneplatnéHlavná(Reťazcové argumenty[]){
Nový JDialogApp();
}
}

Vyššie uvedený kód vytvorí nasledujúce dialógové okno:

Existuje niekoľko dôležitých aspektov kódu, ktoré by ste si mali všimnúť. Program využíva JDialog (vlastník rámca, booleovský modálny) konštruktor, ktorému prechádza a JFrame a „skutočná“ hodnota ako argumenty. JFrame je vlastníkom JDialogu, čo znamená, že je zodpovedný za zobrazenie dialógového okna. Hodnota „true“ znamená, že dialógové okno pri zobrazení blokuje vstup do iných súvisiacich okien.

Konštruktor vo vyššie uvedenom kóde neberie ako argument názov. Majiteľ rámu však potrebuje titul. Takže pre túto úlohu môžete použiť setTitle() metóda, ktorá je dostupná prostredníctvom triedy Dialog, ktorú JDialog rozširuje. Ďalšími dôležitými metódami v kóde sú setVisible(), setSize()a setDefaultCloseOperation().

setVisible má booleovskú hodnotu a je zodpovedný za zobrazenie rámca. setSize preberá výšku a šírku dialógového okna. setDefaultCloseOperation má jednu z troch hodnôt, ktoré rozhodujú o tom, čo sa stane, keď používateľ zatvorí dialógové okno.

Trieda JFrame

JDialog a JOptionPane používajú triedu JFrame na vytváranie dialógových okien. Trieda JFrame však dokáže vytvárať dialógové okná aj sama. Trieda JFrame rozširuje triedu Frame a podobne ako trieda JDialog vám umožňuje vytvárať vlastné dialógové okná.

JFrame má štyri konštruktory a niekoľko priamych a nepriamych metód, ktoré budete musieť použiť na vytvorenie dialógového okna.

Vytvorenie dialógového okna JFrame

importovať java.awt.udalosť. ActionEvent;
importovať java.awt.udalosť. ActionListener;

importovať javax.hojdačka. JButton;
importovať javax.hojdačka. JFrame;
importovať javax.hojdačka. JLabel;
importovať javax.hojdačka. JPanel;
importovať javax.hojdačka. WindowConstants;

verejnostitriedaJFrameApp{
JFrameApp() {
Rám JFrame = Nový JFrame();
frame.setTitle("Dialógové okno");
Panel JPanel = Nový JPanel();

JLabel displayText = Nový JLabel("Toto je okno JFrame.");
panel.add (zobrazitText);
JButton btn = Nový JButton("Tlačidlo OK");

btn.addActionListener(Nový ActionListener() {
verejnostineplatnéakciaVykonaná(AkciaUdalosť e){
frame.setVisible(falošné);
}
});

panel.add (btn);

frame.add (panel);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(pravda);
}

verejnostistatickéneplatnéHlavná(Reťazec[] argumentov){
Nový JFrameApp();
}
}

Vyššie uvedený kód vytvorí nasledujúce dialógové okno:

Kód používa predvolený konštruktor JFrame a niekoľko známych metód, ako napr setTitle() metóda (používa sa v aplikácii JDialog vyššie). Neznámy objekt v programe vyššie je JPanel, čo je všeobecný kontajner. To dáva JFrame flexibilitu pri pridávaní viacerých rozložení a komponentov do rámu.

The ActionListener() a actionPerformed() metódy spracovávajú udalosť, keď používateľ klikne na OK tlačidlo.

Ktorá trieda Java je najlepšia na vytváranie dialógových okien?

Jediným účelom triedy JOptionPane je urobiť proces vytvárania dialógového okna pohodlnejším pre vývojárov Java. Ak však potrebujete viac prispôsobené dialógové okno, trieda JDialog je ďalšou najlepšou voľbou.

Trieda JFrame vytvára používateľské rozhrania, ale môžete ju použiť na vytvorenie mnohých rôznych prvkov grafického používateľského rozhrania vrátane dialógových okien.

Dialógové okno vytvorené pomocou triedy JFrame má minimalizovanú ikonu, zatiaľ čo ostatné nie. Ak chcete modálne dialógové okno, ktoré musí používateľ vykonať pred dokončením úlohy, potom JFrame nie je najlepší prístup.

Ako napísať svoju prvú aplikáciu Java GUI 

Prečítajte si ďalej

zdieľamTweetujtezdieľamEmail

Súvisiace témy

  • Programovanie
  • Programovanie
  • Java
  • Návody na kódovanie

O autorovi

Kadeisha Kean (56 publikovaných článkov)

Kadeisha Kean je vývojár úplného softvéru a technicko-technologický spisovateľ. Má výraznú schopnosť zjednodušiť niektoré z najzložitejších technologických konceptov; produkovať materiál, ktorý je ľahko zrozumiteľný pre každého technologického nováčika. Je nadšená písaním, vývojom zaujímavého softvéru a cestovaním po svete (prostredníctvom dokumentárnych filmov).

Viac od Kadeishy Keanovej

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber