Диалоговые окна сообщений отлично подходят, когда вы хотите сообщить пользователю о сообщении и получить простой ответ (например, щелчок ДА или ОК), но бывают случаи, когда вы хотите, чтобы пользователь дал немного информации. Может быть, ваша программа хочет всплывающее окно, чтобы захватить их имя или знак зодиака. Это может быть легко достигнуто с помощью
showInputDialog
метод
JOptionPane
учебный класс.
Класс JOptionPane
Чтобы использовать
JOptionPaneкласс вам не нужно делать экземпляр
JOptionPane
потому что это создает диалоговые окна с помощью статические методы истатические поля. Он создает только модальные диалоговые окна, что хорошо для диалоговых окон ввода, потому что, как правило, вы хотите, чтобы пользователь что-то ввел до того, как ваше приложение продолжит работу.
showInputDialog
Метод перегружен несколько раз, чтобы дать вам несколько вариантов того, как появляется диалоговое окно ввода. Он может иметь текстовое поле, поле со списком или список. Для каждого из этих компонентов может быть выбрано значение по умолчанию.
Диалог ввода с текстовым полем
Самый распространенный диалог ввода - это просто сообщение, текстовое поле для ввода пользователем своего ответа и кнопка «ОК»:
showInputDialogМетод заботится о построении диалогового окна, текстового поля и кнопки ОК. Все, что вам нужно сделать, это предоставить родительский компонент для диалога и сообщения пользователю. Для родительского компонента я использую
этоКлючевое слово, чтобы указать на
JFrameдиалог создается из. Вы можете использовать ноль или указать имя другого контейнера (например,
JPanel) как родитель. Определение родительского компонента позволяет диалогу позиционировать себя на экране относительно своего родителя. Если для него установлено значение null, диалоговое окно появится в центре экрана.
входная переменная
захватывает текст, который пользователь вводит в текстовое поле
Диалог ввода с полем со списком
Чтобы предоставить пользователю выбор из поля со списком, вам нужно использовать массив String:
// Опции для поля со списком dialogString []
choices = {"понедельник", "вторник"
,"Среда Четверг Пятница"};
// Диалог ввода со списком
String selected = (String) JOptionPane.showInputDialog (это «Выбрать день:»
, "ComboBox Dialog", JOptionPane. QUESTION_MESSAGE
, ноль, выбор, выбор [0]);
Как я прохожу Строковый массив для значений выбора метод решает, что поле со списком - лучший способ представить эти значения пользователю. Эта
showInputDialog
метод возвращает
объект
и потому что я хочу получить текстовое значение выбора поля со списком, я определил возвращаемое значение как (
строка
).
Также обратите внимание, что вы можете использовать один из типов сообщений OptionPane, чтобы придать диалоговому окну определенный вид. Это может быть отменено, если вы передадите иконку по своему выбору.
Диалог ввода со списком
Если
строкамассив вы передаете.
showInputDialogметод имеет 20 или более записей, тогда вместо использования поля со списком он решит показать значения выбора в списке.
Полный пример кода Java можно посмотреть в программе Input Dialog Box. Если вам интересно увидеть другие диалоговые окна, которые может создать класс JOptionPane, то взгляните на программу выбора опций JOptionPane.