Как сделать всплывающее окно java

Добавил пользователь Валентин П.
Обновлено: 17.09.2024

Swing при условии JOptionPane Класс для достижения чего-то вроде Windows Под платформой MessageBox Функция также в Java Есть также, использование JOptionPane Индивидуумы в классе static Методы для создания различных стандартных диалоговых окон для отображения информации, задания вопросов, предупреждения и ввода пользовательских параметров. Эти диалоги являются модальными парами Диалоговое окно

ConfirmDialog --- Диалог подтверждения, задать вопрос, а затем подтвердить пользователем ( пресс "Yes" или "No" кнопка )

InputDialog --- Запрос текста

MessageDialog --- Показать информацию

OptionDialog -- Объединение трех других типов диалогов.

Эти четыре диалога могут занять showXXXDialog() Для отображения, например, showConfirmDialog() Отобразить диалоговое окно подтверждения, showInputDialog() Показать диалог ввода текста, showMessageDialog() Показать информационное диалоговое окно, showOptionDialog() Показать дополнительное диалоговое окно. Параметры, которые они используют, описаны ниже:

① ParentComponent : Указывает объект родительского окна диалогового окна, которым обычно является текущее окно. Также может быть null То есть, использовать по умолчанию Frame Как родительское окно, диалоговое окно будет установлено в середине экрана.

② message : Указывает описательный текст, который будет отображаться в диалоге

③ String title Текстовая строка строки заголовка.

④ Component : Компонент, отображаемый в диалоговом окне ( Как кнопка )

⑤ Icon : Иконка для отображения в диалоге

⑥ messageType : Обычно могут быть следующие значения ERROR_MESSAGE 、 INFORMATION_MESSAGE 、 WARNING_MESSAGE 、 QUESTION_MESSAGE 、 PLAIN_MESSAGE 、

⑦ optionType : Определяет параметры кнопки, которые будут отображаться в нижней части диалогового окна. Может вообще быть DEFAULT_OPTION 、 YES_NO_OPTION 、 YES_NO_CANCEL_OPTION 、 OK_CANCEL_OPTION 。

(1) дисплей MessageDialog

JOptionPane.showMessageDialog(null, " Описательный текст отображается в диалоге ", " Текстовая строка строки заголовка ", JOptionPane.ERROR_MESSAGE);

(2) дисплей ConfirmDialog

(3) дисплей OptionDialog : В этом типе диалогового окна пользователь может установить номер каждой кнопки и вернуть порядковый номер каждой кнопки ( от 0 Начните считать )

(4) дисплей InputDialog Для ввода пользователя

(5) дисплей InputDialog Чтобы позволить пользователям сделать выбор

public class JOptionPane extends JComponent implements Accessible

JOptionPane Помогает легко открывать стандартные диалоговые окна, требующие от пользователей ввода значений или уведомления о них. Связанное использование JOptionPane Для получения информации см. The Java Tutorial How to Make Dialogs A.

Хотя из-за количества методов JOptionPane Классы могут показаться сложными, но почти все применения этого класса являются статическими для следующих showXxxDialog Однострочный вызов одного из методов:

Задайте вопрос подтверждения, такой как yes/no/cancel 。

Подсказка требует некоторого ввода.

Сообщите пользователям, что что-то случилось.

Унификация трех вышеперечисленных пунктов (Grand Unification) 。

Все эти методы также могут начинаться с showInternalXXX Появляется стиль, который использует внутреннюю рамку для хранения диалога (см. JInternalFrame ). Он также определяет ряд вспомогательных методов, которые переопределяют эти основные методы и используют разные списки параметров.

Все диалоги модальные. Пока взаимодействие с пользователем не завершено, каждый showXxxDialog Методы всегда блокируют вызывающего.

Основной вид этих диалоговых окон обычно похож на тот, что справа, хотя различные варианты в конечном итоге определяют конечный результат. В частности, внешний вид можно настроить в соответствии с панелью параметров. ComponentOrientation Недвижимость.

Параметры этих методов следуют последовательной схеме:

Определяет родителя этого диалога Component , Этот параметр используется двумя способами: Frame Может использоваться в качестве родителя диалога Frame Используйте экранные координаты диалогового окна. В общем, разместите диалоговое окно непосредственно под компонентом. Этот параметр может быть null В этом случае по умолчанию Frame Как родитель, так и диалог будет центрирован на экране (в зависимости от L&F )。

Массив объектов интерпретируется как ряды, расположенные в вертикальной стопке message (По одному на каждый объект). Интерпретация является рекурсивной, то есть каждый объект в массиве интерпретируется в соответствии с его типом.

что Component Показать в диалоговом окне.

что Icon Заворачивается в JLabel И отображается в диалоговом окне.

Объект вызывается toString Метод конвертируется в String , Результат обернут в JLabel Дисплей.

Определения message Стиль. Диспетчер внешнего вида размещает диалоговые окна по-разному в зависимости от этого значения и обычно предоставляет значок по умолчанию. Возможные значения:

Определяет коллекцию кнопок опций, отображаемых в нижней части диалогового окна:

Пользователи не ограничены в использовании этой коллекции кнопок. использование options Параметр может предоставить любую кнопку, которую вы хотите использовать.

Более подробное описание коллекции кнопок опций, которые будут отображаться в нижней части диалога. options Общие значения параметров String Массив, но тип параметра Object Массив. Создайте кнопку для каждого объекта на основе следующих типов объектов:

Компонент добавляется непосредственно в строку кнопки.

созданный JButton Используйте этот значок в качестве метки.

что Object Используя его toString Метод для строки и использовать результат как JButton Этикетка.

Декоративная иконка для размещения в диалоге. Значением по умолчанию для значка является messageType Определение параметров.

Выбор по умолчанию (введите значение).

Когда выбор изменяется, сборка называется PropertyChangeEvent из setValue Метод.

Если введено для всех setWantsInput Конфигурирование JOptionPane , Вы также можете прослушивать обязательные свойства JOptionPane.INPUT_VALUE_PROPERTY Чтобы определить, когда пользователь ввел или выбрал значение.

Когда один из них showXxxDialog Когда метод возвращает целое число, возможные значения:

Показать диалоговое окно с ошибкой, которое показывает message есть 'alert' :

JOptionPane.showMessageDialog(null, "alert", "alert", JOptionPane.ERROR_MESSAGE);

Отображает диалоговое окно внутренней информации, которое message есть 'information' :

Показать информационную панель, которая options есть "yes/no" , message есть 'choose one' :

"choose one", "choose one", JOptionPane.YES_NO_OPTION);

Отображает диалоговое окно внутренней информации, которое options есть "yes/no/cancel" , message есть 'please choose one' И есть title информация:

"please choose one", "information",

Отображает диалоговое окно с предупреждением, которое options есть OK 、 CANCEL , title есть 'Warning' , message есть 'Click OK to continue' :

Object[] options = < "OK", "CANCEL" >;
JOptionPane.showOptionDialog(null, "Click OK to continue", "Warning",

null, options, options[0]);

Показать одного просящего пользователя набрать String Диалоговое окно:

String inputValue = JOptionPane.showInputDialog("Please input a value");

Показать запрос на выбор пользователя String Диалоговое окно:

Object[] possibleValues = < "First", "Second", "Third" >;
Object selectedValue = JOptionPane.showInputDialog(null,

"Choose one", "Input",

Используйте напрямую:
Создавать и использовать напрямую JOptionPane Стандартный режим примерно такой:

Используйте JOptionPane.showInputDialog(), чтобы пользователь мог ввести текст в диалоговом окне.

Далее приведен пример создания всплывающих окон ввода (диалога) и получения ввода от пользователя в Java –

Пример

Теперь выберите любой элемент сверху и нажмите OK, чтобы отобразить выбранный элемент в консоли.



Выбранная выше опция видна в консоли –


Средняя оценка / 5. Количество голосов:

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Я хочу показать новое окно, содержащее текстовую область и кнопку.

У тебя есть идеи?

Может быть JOptionPane.showInputDialog(null, "This is the message", "This is the default text") ? - fireshadow52

Отметьте ответ, чтобы этот вопрос был решен. - Ungeheuer

@NoName, наверное, нет. Он тоже все еще активен . в последний раз видел 6 марта. Некоторое время назад, но все же. - Ungeheuer

6 ответы

Тот же ответ : JOptionpane с примером :)

Введите описание изображения здесь


Хм, прошло немного времени, но насколько я помню .
Если вам нужно настраиваемое окно, вы можете просто создать новый фрейм и заставить его отображаться так же, как в случае с главным окном. У Java также есть отличная библиотека диалогов, которую вы можете проверить здесь:

Это может дать вам желаемую функциональность с гораздо меньшими усилиями.

Если вы не хотите ограничивать выбор пользователя, вы можете либо использовать форму метода showInputDialog, которая принимает меньше аргументов, либо указать null для массива объектов. В стиле Java замена возможных значений на null приводит к появлению диалогового окна с текстовым полем, которое выглядит следующим образом:

Думаю, я хочу сделать новую раму. Можете ли вы показать мне, как это сделать, спасибо, кстати? - Карло

Пример, который я привел выше, настолько ясен и краток, насколько я могу показать вам, как это сделать. Если вы хотите настроить его за пределами примера, взгляните на Java Docs. - Крейнольдс

Как сделать всплывающее окно в java

В настоящее время я разрабатываю Java-приложение.

Я хочу показать новое окно, содержащее текстовую область и кнопку.

У тебя есть идеи?

Ответы

COD3BOY picture

Тот же ответ: JOptionpane с примером :)

enter image description here

Хм, прошло немного времени, но насколько я помню .
Если вам нужно настраиваемое окно, вы можете просто создать новый фрейм и сделать так, чтобы он отображался так же, как в главном окне. В Java также есть отличная библиотека диалогов, которую вы можете проверить здесь:

Это может дать вам функциональность, которую вы ищете, с гораздо меньшими усилиями.

Если вы не хотите ограничивать выбор пользователя, вы можете либо использовать форму метода showInputDialog, которая принимает меньше аргументов, либо указать null для массива объектов. В стиле Java замена возможных значений на null приводит к появлению диалогового окна с текстовым полем, которое выглядит следующим образом:

Читайте также: