- Java диалоговое окно открыть
- Nested Class Summary
- Nested classes/interfaces inherited from class javax.swing.JComponent
- Nested classes/interfaces inherited from class java.awt.Container
- Nested classes/interfaces inherited from class java.awt.Component
- Field Summary
- Fields inherited from class javax.swing.JComponent
- Fields inherited from class java.awt.Component
- Fields inherited from interface java.awt.image.ImageObserver
- Constructor Summary
- Method Summary
- Создать всплывающее окно в Java
- Создать всплывающее окно в Java с помощью JOptionPane
- Создать всплывающее окно в Java с помощью JDialog
- Сопутствующая статья — Java GUI
- Сопутствующая статья — Java Swing
Java диалоговое окно открыть
JOptionPane makes it easy to pop up a standard dialog box that prompts users for a value or informs them of something. For information about using JOptionPane , see How to Make Dialogs, a section in The Java Tutorial. While the JOptionPane class may appear complex because of the large number of methods, almost all uses of this class are one-line calls to one of the static showXxxDialog methods shown below:
Method Name Description showConfirmDialog Asks a confirming question, like yes/no/cancel. showInputDialog Prompt for some input. showMessageDialog Tell the user about something that has happened. showOptionDialog The Grand Unification of the above three.
Each of these methods also comes in a showInternalXXX flavor, which uses an internal frame to hold the dialog box (see JInternalFrame ). Multiple convenience methods have also been defined — overloaded versions of the basic methods that use different parameter lists. All dialogs are modal. Each showXxxDialog method blocks the caller until the user’s interaction is complete.
icon | message |
input value | |
option buttons |
The basic appearance of one of these dialog boxes is generally similar to the picture at the right, although the various look-and-feels are ultimately responsible for the final result. In particular, the look-and-feels will adjust the layout to accommodate the option pane’s ComponentOrientation property.
Parameters:
The parameters to these methods follow consistent patterns:
- ERROR_MESSAGE
- INFORMATION_MESSAGE
- WARNING_MESSAGE
- QUESTION_MESSAGE
- PLAIN_MESSAGE
- DEFAULT_OPTION
- YES_NO_OPTION
- YES_NO_CANCEL_OPTION
- OK_CANCEL_OPTION
- YES_OPTION
- NO_OPTION
- CANCEL_OPTION
- OK_OPTION
- CLOSED_OPTION
JOptionPane.showInternalMessageDialog(frame, "information", "information", JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showConfirmDialog(null, "choose one", "choose one", JOptionPane.YES_NO_OPTION);
Show an internal information dialog with the options yes/no/cancel and message ‘please choose one’ and title information:
JOptionPane.showInternalConfirmDialog(frame, "please choose one", "information", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
Show a warning dialog with the options OK, CANCEL, title ‘Warning’, and message ‘Click OK to continue’:
Object[] options = < "OK", "CANCEL" >; JOptionPane.showOptionDialog(null, "Click OK to continue", "Warning", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
Show a dialog asking the user to type in a String: String inputValue = JOptionPane.showInputDialog(«Please input a value»); Show a dialog asking the user to select a String:
Object[] possibleValues = < "First", "Second", "Third" >;
Object selectedValue = JOptionPane.showInputDialog(null, "Choose one", "Input", JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
Direct Use:
To create and use an JOptionPane directly, the standard pattern is roughly as follows:
JOptionPane pane = new JOptionPane(arguments); pane.set.Xxxx(. ); // Configure JDialog dialog = pane.createDialog(parentComponent, title); dialog.show(); Object selectedValue = pane.getValue(); if(selectedValue == null) return CLOSED_OPTION; //If there is not an array of option buttons: if(options == null) < if(selectedValue instanceof Integer) return ((Integer)selectedValue).intValue(); return CLOSED_OPTION; >//If there is an array of option buttons: for(int counter = 0, maxCounter = options.length; counter < maxCounter; counter++) < if(options[counter].equals(selectedValue)) return counter; >return CLOSED_OPTION;
Warning: Swing is not thread safe. For more information see Swing’s Threading Policy. Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the java.beans package. Please see XMLEncoder .
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
Nested classes/interfaces inherited from class java.awt.Container
Nested classes/interfaces inherited from class java.awt.Component
Field Summary
Return value from class method if user closes window without selecting anything, more than likely this should be treated as either a CANCEL_OPTION or NO_OPTION .
Type meaning Look and Feel should not supply any options — only use the options from the JOptionPane .
Fields inherited from class javax.swing.JComponent
Fields inherited from class java.awt.Component
Fields inherited from interface java.awt.image.ImageObserver
Constructor Summary
Creates a instance of JOptionPane to display a message using the plain-message message type and the default options delivered by the UI.
Creates an instance of JOptionPane to display a message with the specified message type and the default options,
Creates an instance of JOptionPane to display a message with the specified message type, options, and icon.
Creates an instance of JOptionPane to display a message with the specified message type, icon, and options.
Creates an instance of JOptionPane to display a message with the specified message type, icon, and options, with the initially-selected option specified.
Method Summary
Creates and returns a new JDialog wrapping this centered on the parentComponent in the parentComponent ‘s frame.
Sets the initial value that is to be enabled — the Component that has the focus when the pane is initially displayed.
Sets the input selection values for a pane that provides the user with a list of items to choose from.
Brings up a dialog with the options Yes, No and Cancel; with the title, Select an Option.
Brings up a dialog where the number of choices is determined by the optionType parameter, where the messageType parameter determines the icon to display.
Brings up a dialog with a specified icon, where the number of choices is determined by the optionType parameter.
Shows a dialog requesting input from the user parented to parentComponent with the dialog having the title title and message type messageType .
Prompts the user for input in a blocking dialog where the initial selection, possible selections, and all other options can be specified.
Shows a question-message dialog requesting input from the user, with the input value initialized to initialSelectionValue .
Brings up an internal dialog panel with the options Yes, No and Cancel; with the title, Select an Option.
Brings up a internal dialog panel where the number of choices is determined by the optionType parameter.
Brings up an internal dialog panel where the number of choices is determined by the optionType parameter, where the messageType parameter determines the icon to display.
Brings up an internal dialog panel with a specified icon, where the number of choices is determined by the optionType parameter.
Shows an internal question-message dialog requesting input from the user parented to parentComponent .
Shows an internal dialog requesting input from the user parented to parentComponent with the dialog having the title title and message type messageType .
Prompts the user for input in a blocking internal dialog where the initial selection, possible selections, and all other options can be specified.
Brings up an internal dialog panel that displays a message using a default icon determined by the messageType parameter.
Brings up an internal dialog panel with a specified icon, where the initial choice is determined by the initialValue parameter and the number of choices is determined by the optionType parameter.
Brings up a dialog that displays a message using a default icon determined by the messageType parameter.
Brings up a dialog with a specified icon, where the initial choice is determined by the initialValue parameter and the number of choices is determined by the optionType parameter.
Создать всплывающее окно в Java
- Создать всплывающее окно в Java с помощью JOptionPane
- Создать всплывающее окно в Java с помощью JDialog
Java позволяет нам создавать несколько типов компонентов графического интерфейса с использованием таких библиотек, как AWT, Swing и JavaFX. В этом уроке мы рассмотрим диалог и узнаем, как его создать. В следующих примерах мы будем использовать два класса: JOptionPane и JDialog .
Создать всплывающее окно в Java с помощью JOptionPane
Ниже приведены примеры методов:
Пример 1. Отобразите сообщение внутри JFrame , создав объект Jframe , вызовите метод JOptionPane.showMessageDialog() и передайте первый объект jFrame в качестве его первого аргумента. Второй аргумент — это сообщение, которое мы хотим отобразить в диалоговом окне.
import javax.swing.*; public class PopUpJava public static void main(String[] args) JFrame jFrame = new JFrame(); JOptionPane.showMessageDialog(jFrame, "Hello there! How are you today?"); > >
Пример 2: В этом примере используется функция JOptionPane.showInputDialog() для отображения сообщения с полем ввода для получения ввода. Здесь, чтобы сохранить ввод, мы используем переменную String , а затем показываем ее пользователю с помощью showMessageDialog() .
import javax.swing.*; public class PopUpJava public static void main(String[] args) JFrame jFrame = new JFrame(); String getMessage = JOptionPane.showInputDialog(jFrame, "Enter your message"); JOptionPane.showMessageDialog(jFrame, "Your message: "+getMessage); > >
Пример 3: Мы используем функцию JOptionPane.showConfirmDialog() для отображения диалогового окна с тремя кнопками: Yes , No и Cancel . Как и другие методы, мы передаем объект jFrame и сообщение для отображения. Метод showConfirmDialog() возвращает int , которое указывает кнопку, по которой была нажата кнопка: 0 означает Yes , 1 означает No , а любое другое целое число указывает, что была нажата кнопка отмены.
import javax.swing.*; public class PopUpJava public static void main(String[] args) JFrame jFrame = new JFrame(); int result = JOptionPane.showConfirmDialog(jFrame, "Press any button to close the dialog."); if (result == 0) System.out.println("You pressed Yes"); else if (result == 1) System.out.println("You pressed NO"); else System.out.println("You pressed Cancel"); > >
Создать всплывающее окно в Java с помощью JDialog
Во втором методе мы используем класс Jdialog . Для создания фрейма нам нужен объект jFrame , который передается конструктору Jdialog в качестве аргумента, когда мы создаем объект JDialog и jd . Теперь нам нужно установить макет диалога, который указывает, как размещать компоненты внутри диалога. Мы устанавливаем функцию FlowLayout() , которая выстраивает компоненты в линию с помощью jd.setLayout() .
Чтобы установить положение и размер всплывающего окна, мы используем функцию setBounds() , где первые два аргумента — это позиции x и y, а последние два аргумента — ширина и высота.
Мы создаем переменную jLabel с текстовым сообщением, переданным внутри конструктора, чтобы показать текст. Чтобы пользователь мог закрыть диалог, мы создаем объект JButton с текстом Close . Теперь нам нужно настроить действие, которое будет выполняться при нажатии кнопки закрытия. Для этого мы вызываем функцию addActionListener() , которая заменяет метод actionPerformed() , в котором мы указываем действие, которое нужно выполнить.
Наконец, мы добавляем все компоненты или объекты, которые мы создали с помощью jd.add() .
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class PopUpJava public static void main(String[] args) JFrame jFrame = new JFrame(); JDialog jd = new JDialog(jFrame); jd.setLayout(new FlowLayout()); jd.setBounds(500, 300, 400, 300); JLabel jLabel = new JLabel("Press close button to close the dialog."); JButton jButton = new JButton("Close"); jButton.addActionListener(new ActionListener() @Override public void actionPerformed(ActionEvent e) jd.setVisible(false); > >); jd.add(jLabel); jd.add(jButton); jd.setVisible(true); > >
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.