Život

Vytvoření vstupního dialogového okna

Vytvoření vstupního dialogového okna

Dialogová okna zpráv jsou skvělá, pokud 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ých metod a statických polí. 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 nastavena 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:"

, „Dialog ComboBox“, JOptionPane.QUESTION_MESSAGE

, null, volby, volby0);

Protože předávám pole String pro hodnoty výběru, metoda rozhodne, že se seznamem je nejlepší způsob, jak prezentovat tyto hodnoty 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 (

Řetězec

).

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 dle vlastního výběru.

Vstupní dialog se seznamem

Pokud

Řetězecpole, které předáte do

showInputDialogmetoda má 20 nebo více položek, pak místo použití pole se seznamem rozhodne o výběru hodnot 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, pak se podívejte na program JOptionPane Option Chooser.