Dialogy a vyskakovací okna
Z MiS
Vyskakovací okna
- Vyskakovací okno (message box) je modální — běh aplikace se přeruší, dokud uživatel nepotvrdí okno.
- K vyvolání okna slouží třída
JOptionPane
z balíčkujavax.swing
. - Vyskakovací okno by mělo vyskočit uprostřed okna, ze kterého je vyvoláno, proto potřebuje odkaz na své rodičovské okno.
- Rodičovské okno předáváme jako první parametr.
- Pokud předáme
null
, bude vyskakovací okno uprostřed obrazovky.
- Jako poslední parametr předáváme typ okna:
-
JOptionPane.ERROR_MESSAGE
-
JOptionPane.WARNING_MESSAGE
-
JOptionPane.INFORMATION_MESSAGE
-
- Příklad
if (chyba > 3) { JOptionPane.showMessageDialog(null, "Tohle píši ve vyskakovacím okně!", "Titulek okna", JOptionPane.WARNING_MESSAGE); }
Dialogy pro výběr souboru
- Dialogy pro výběr souboru realizuje třída
JFileChooser
z balíčkujavax.swing
. - Dialogy mají společný základ, liší se v detailech chování a v popisu tlačítek.
- Dialog vrací návratovou hodnotu, kterou můžeme porovnat s konstantou JFileChooser.APPROVE_OPTION a zjistit tak, jestli uživatel potvrdil výběr souboru.
- Při zobrazení dáváme jako parametr rodičovské okno.
- Pokud v konstruktoru předáme cestu ke složce, otevře se dialog na začátku v této složce.
JFileChooser fc = new JFileChooser(".");
- Instance JFileChooser si mezi jednotlivými voláními pamatuje naposledy použitou cestu. Je tedy vhodné používat po celou dobu běhu aplikace jednu instanci.
- Zobrazení jednotlivých typů dialogu
-
showOpenDialog
-
showSaveDialog
-
showDialog
... zde zadáváme jako parametr i popis dialogu
- Nastavení filtru souborů zvoleného typu
- Můžeme nastavit, že dialog bude nabízet jen soubory s vybranými příponami.
fc.setFileFilter(new FileNameExtensionFilter("Obrázky", "png", "jpg"));
- Získání vybraného souboru
-
getSelectedFile
- Příklad použití
JFileChooser fc = new JFileChooser("."); ... fc.setFileFilter(new FileNameExtensionFilter("Project files", "csv", "prj")); int vysledek = fc.showOpenDialog(this); if (vysledek == JFileChooser.APPROVE_OPTION) { File zvolenySoubor = fc.getSelectedFile(); Otevři soubor a zpracuj ho... }
- Další zdroje