Dialogová okna zpráv jsou skvělé, když chcete informovat uživatele o zprávě a získat jednoduchou odpověď (tj. klepnutím na tlačítko ANO nebo OK), ale existují chvíle, kdy chcete, aby uživatel poskytl trochu dat. Možná váš program chce, aby vyskakovací okno chytilo jejich jméno nebo hvězdné znamení. Toho lze snadno dosáhnout pomocí
showInputDialog
metoda
JOptionPane
třída.
Třída JOptionPane
Chcete-li použít
JOptionPanetřídy, kterou nemusíte dělat
JOptionPane
protože vytváří dialogová okna pomocí statické metody astatická pole. Vytváří pouze modální dialogová okna, což je v pořádku pro vstupní dialogová okna, protože obvykle chcete, aby uživatel něco vložil, než bude aplikace spuštěna.
showInputDialog
metoda je několikrát přetížena, aby vám poskytla několik možností, jak se zobrazí vstupní dialog. Může obsahovat textové pole, pole se seznamem nebo seznam. Každá z těchto komponent může mít vybranou výchozí hodnotu.
Vstupní dialog s textovým polem
Nejběžnější vstupní dialog má jednoduše zprávu, textové pole, do kterého má uživatel vložit svou odpověď, a tlačítko OK:
showInputDialogmetoda se stará o vytvoření dialogového okna, textového pole a tlačítka OK. Jediné, co musíte udělat, je poskytnout nadřazenou komponentu pro dialog a zprávu uživateli. Pro nadřazenou komponentu používám
tentoklíčové slovo, které ukazuje na
JFramedialog je vytvořen z. Můžete použít null nebo zadat název jiného kontejneru (např.
JPanel) jako rodič. Definování nadřazené komponenty umožňuje dialogu umístit se na obrazovku ve vztahu k jejím nadřazeným. Pokud je nastaveno na null, objeví se dialog uprostřed obrazovky.
vstupní proměnná
zachytí text, který uživatel zadá do textového pole.
Vstupní dialog se seznamem
Chcete-li dát uživateli výběr z rozbalovací nabídky, musíte použít pole String:
// Možnosti dialogového okna se seznamemString []
choices = {"Monday", "Tuesday"
, „Středa“, „Čtvrtek“, „Pátek“};
// Vstupní dialog se seznamem
String picked = (String) JOptionPane.showInputDialog (this, "Vyberte den:"
, „Dialogové okno ComboBox“, JOptionPane. QUESTION_MESSAGE
, null, volby, volby [0]);
Jak míjím Řetězcové pole pro hodnoty výběru metoda rozhodne, že rozbalovací seznam je nejlepším způsobem, jak tyto hodnoty zobrazit uživateli. Tento
showInputDialog
metoda vrátí
Objekt
a protože chci získat textovou hodnotu výběru se seznamem, definoval jsem návratovou hodnotu jako (
Tětiva
).
Všimněte si také, že můžete použít jeden z typů zpráv OptionPane, abyste v dialogovém okně získali určitý dojem. To lze přepsat, pokud předáte ikonu podle vlastního výběru.
Vstupní dialog se seznamem
Pokud
Tětivapole, které předáte do.
showInputDialogmetoda má 20 nebo více položek, pak místo použití rozbalovacího pole se rozhodne zobrazit hodnoty výběru v seznamu.
Úplný příklad kódu Java lze zobrazit v programu Vstupní dialogové okno. Pokud chcete vidět další dialogová okna, která může třída JOptionPane vytvořit, podívejte se na program JOptionPane Option Chooser.