Dialogy a vyskakovací okna
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				| m (→Vyskakovací okna:  showMessage -> showMessageDialog.) |  (Přidán filtr souborů vybraného typu.) | ||
| Řádka 19: | Řádka 19: | ||
|               "Titulek okna", JOptionPane.WARNING_MESSAGE); |               "Titulek okna", JOptionPane.WARNING_MESSAGE); | ||
|   } |   } | ||
| + | |||
| == Dialogy pro výběr souboru == | == Dialogy pro výběr souboru == | ||
| Řádka 35: | Řádka 36: | ||
| * <code>showSaveDialog</code> | * <code>showSaveDialog</code> | ||
| * <code>showDialog</code>... zde zadáváme jako parametr i popis dialogu | * <code>showDialog</code>... 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: | ; Získání vybraného souboru: | ||
| Řádka 44: | Řádka 50: | ||
|   ... |   ... | ||
| + |  fc.setFileFilter(new FileNameExtensionFilter("Project files", "csv", "prj")); | ||
|   int vysledek = fc.showOpenDialog(this); |   int vysledek = fc.showOpenDialog(this); | ||
|   if (vysledek == JFileChooser.APPROVE_OPTION) { |   if (vysledek == JFileChooser.APPROVE_OPTION) { | ||
Verze z 19. 3. 2018, 07:33
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 JOptionPanez 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 JFileChooserz 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
