Hlavní funkcí dialogového okna je, aby aplikace nebo webová stránka načítala nějaký vstup od uživatele. Tímto vstupem může být potvrzení, že si přečetli zprávu nebo něco, co zadají do textové oblasti.

Dialogové okno okamžitě upoutá pozornost uživatele. Je to dokonalý nástroj pro shromažďování nebo zobrazování důležitých informací.

Java je rozmanitý jazyk, který poskytuje několik tříd pro vytváření dialogových oken. Tyto třídy zahrnují JOptionPane, JDialog a JFrame.

Třída JOptionPane

Standardní dialogové okno můžete vytvořit pomocí jedné z několika statických metod patřících do třídy JOptionPane. Tyto zahrnují:

  • showMessageDialog(), který předává zprávu uživateli.
  • showConfirmDialog(), který položí otázku, která vyžaduje potvrzení.
  • showInputDialog(), který vyzve uživatele k zadání.
  • showOptionDialog(), což je kombinace tří dalších metod.

Vytvoření dialogového okna JOptionPane

import javax.houpačka. JFrame;
import javax.houpačka. JOptionPane;

veřejnosttřídaJOptionPaneApp{
JOptionPaneApp() {
Rám JFrame = Nový JFrame();
JOptionPane.showMessageDialog (rámec, "Toto je okno zprávy JOptionPane.");
}

veřejnoststatickýprázdnotahlavní(Řetězec[] argumentů){
Nový JOptionPaneApp();
}
}

Výše uvedený kód vytvoří následující dialogové okno:

Přestože JOptionPane poskytuje standardní dialogová okna, má mnoho možností, které vám umožňují vyladit jeho chování. Například dialogové okno zprávy může mít jeden z několika typů. Ten výše je příkladem an INFORMAČNÍ_ZPRÁVA, což je výchozí nastavení. Další typy zpráv jsou:

  • CHYBOVÉ HLÁŠENÍ
  • VAROVNÁ ZPRÁVA
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

Vytváření chybové zprávy

Zde je příklad, jak použít jiný typ zprávy pro váš dialog JOptionPane:

JOptionPane.showMessageDialog (rámec, "Toto je okno chybové zprávy JOptionPane.",
"Chyba", JOptionPane. CHYBOVÉ HLÁŠENÍ);

Nahradit showMessageDialog() řádek v původním programu s řádkem kódu výše a zobrazí se následující chybové dialogové okno:

Třída JDialog

Třída JDialog umožňuje vytvářet vlastní dialogová okna. Tento třída Java patří k javax.houpačka balíček a rozšiřuje třídu Dialog. Má přístup k široké škále přímých a nepřímých metod. Tato třída Java má celkem 16 Java konstruktory.

Kromě výchozího konstruktoru má každý z 15 dalších rámeček, okno nebo dialog s kombinací několika dalších argumentů.

Mezi primární konstruktory JDialog patří:

  • JDialog() vytvoří dialogové okno bez rámečku, titulku nebo režimu.
  • JDialog (vlastník dialogu, název řetězce, booleovský modální) vytvoří dialogové okno s vlastníkem dialogu, názvem řetězce a režimem.
  • JDialog (vlastník rámce, název řetězce, booleovský modální) vytvoří dialogové okno s vlastníkem rámce, názvem řetězce a režimem.
  • JDialog (vlastník okna, název řetězce, booleovský modální) vytvoří dialogové okno s vlastníkem okna, názvem řetězce a režimem.

Vytvoření dialogového okna JDialog

import java.awt. FlowLayout;
import java.awt.událost. ActionEvent;
import java.awt.událost. ActionListener;
import javax.houpačka. JButton;
import javax.houpačka. JDialog;
import javax.houpačka. JFrame;
import javax.houpačka. JLabel;
import javax.houpačka. WindowConstants;

veřejnosttřídaJDialogApp{
JDialogApp() {
Rám JFrame = Nový JFrame();
Dialogové okno JDialog = Nový JDialog (snímek, skutečný);
dialog.setLayout(Nový FlowLayout());

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

btn.addActionListener(Nový ActionListener() {
veřejnostprázdnotaakceProvedena(ActionEvent e){
dialog.setVisible(Nepravdivé);
}
});

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

dialog.setSize(200,150);
dialog.setTitle("Dialogové okno");
dialog.setVisible(skutečný);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}

veřejnoststatickýprázdnotahlavní(Řetězce[]){
Nový JDialogApp();
}
}

Výše uvedený kód vytvoří následující dialogové okno:

Existuje několik důležitých aspektů kódu, které byste si měli všimnout. Program využívá JDialog (vlastník rámce, booleovský modální) konstruktor, kterému předává a JFrame a „skutečnou“ hodnotu jako argumenty. JFrame je vlastníkem JDialogu, což znamená, že je zodpovědný za zobrazení dialogového okna. Hodnota „true“ znamená, že dialog blokuje vstup do dalších souvisejících oken, když se zobrazí.

Konstruktor ve výše uvedeném kódu nebere jako argument nadpis. Majitel rámu však potřebuje titul. Takže pro tento úkol můžete použít setTitle() metoda, která je dostupná prostřednictvím třídy Dialog, kterou JDialog rozšiřuje. Další důležité metody v kódu jsou setVisible(), setSize(), a setDefaultCloseOperation().

setVisible přebírá booleovskou hodnotu a je zodpovědný za zobrazení rámce. setSize přebírá výšku a šířku dialogového okna. setDefaultCloseOperation přebírá jednu ze tří hodnot, které rozhodují o tom, co se stane, když uživatel zavře dialog.

Třída JFrame

JDialog a JOptionPane používají třídu JFrame k vytváření dialogových oken. Třída JFrame však může vytvářet dialogová okna sama. Třída JFrame rozšiřuje třídu Frame a podobně jako třída JDialog vám umožňuje vytvářet vlastní dialogová okna.

JFrame má čtyři konstruktory a několik přímých a nepřímých metod, které budete muset použít k vytvoření dialogového okna.

Vytvoření dialogového okna JFrame

import java.awt.událost. ActionEvent;
import java.awt.událost. ActionListener;

import javax.houpačka. JButton;
import javax.houpačka. JFrame;
import javax.houpačka. JLabel;
import javax.houpačka. JPanel;
import javax.houpačka. WindowConstants;

veřejnosttřídaJFrameApp{
JFrameApp() {
Rám JFrame = Nový JFrame();
frame.setTitle("Dialogové okno");
Panel JPanel = Nový JPanel();

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

btn.addActionListener(Nový ActionListener() {
veřejnostprázdnotaakceProvedena(ActionEvent e){
frame.setVisible(Nepravdivé);
}
});

panel.add (btn);

frame.add (panel);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(skutečný);
}

veřejnoststatickýprázdnotahlavní(Řetězec[] argumentů){
Nový JFrameApp();
}
}

Výše uvedený kód vytvoří následující dialogové okno:

Kód používá výchozí konstruktor JFrame a několik známých metod, jako je setTitle() metoda (používá se v aplikaci JDialog výše). Neznámý objekt v programu výše je JPanel, což je obecný kontejner. To dává JFrame flexibilitu pro přidání více rozvržení a komponent do rámu.

The ActionListener() a actionPerformed() metody zpracovávají událost, kdy uživatel klikne na OK knoflík.

Která třída Java je nejlepší pro vytváření dialogových oken?

Jediným účelem třídy JOptionPane je učinit proces vytváření dialogového okna pohodlnějším pro vývojáře Java. Pokud však potřebujete více přizpůsobené dialogové okno, třída JDialog je další nejlepší volbou.

Třída JFrame vytváří uživatelská rozhraní, ale můžete ji použít k vytvoření mnoha různých prvků GUI, včetně dialogových oken.

Dialogové okno vytvořené pomocí třídy JFrame má minimalizovanou ikonu, zatímco ostatní nikoli. Pokud chcete modální dialogové okno, které musí uživatel provést před dokončením úkolu, pak JFrame není nejlepší přístup.

Jak napsat svou první aplikaci Java GUI 

Přečtěte si další

PodíltweetPodílE-mailem

Související témata

  • Programování
  • Programování
  • Jáva
  • Kurzy kódování

O autorovi

Kadeisha Kean (56 zveřejněných článků)

Kadeisha Kean je vývojář úplného softwaru a technický/technologický autor. Má výraznou schopnost zjednodušit některé z nejsložitějších technologických konceptů; vyrábí materiál, který může snadno pochopit každý technologický nováček. Je nadšená psaním, vývojem zajímavého softwaru a cestováním po světě (prostřednictvím dokumentů).

Více od Kadeishy Kean

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem