Java swing сообщение об ошибке

Афоризм

Кого хочу я осчастливить, тому уже спасенья нет.

Поддержка проекта

Если Вам сайт понравился и помог, то будем признательны за Ваш «посильный» вклад в его поддержку и развитие

 • Yandex.Деньги
  410013796724260

 • Webmoney
  R335386147728
  Z369087728698

Библиотека Swing включает богатый выбор стандартных диалоговых окон, существенно упрощающих и
ускоряющих вывод простой информации типа сообщений о работе программы, ошибках и нестандартных
ситуациях. Для вывода в графический интерфейс приложения разнообразной информации и выбора простых
данных предназначен класс JOptionPane, работа с которым связана с вызовом одного из многочисленных
статических методов, создающих и выводящих на экран модальное диалоговое окно стандартного вида.
В диалоговых окнах JOptionPane можно выводить самую разнообразную информацию и,
при необходимости, размещать в них дополнительные компоненты.

JOptionPane унаследован от базового класса JComponent библиотеки Swing, так что можно работать
с ним напрямую, т.е. создавать экземпляры класса JOptionPane и настраивать их свойства.
Использование стандартных диалоговых окон существенно упрощает разработку приложения и позволяет ускорить
процесс освоения пользователем интерфейса.

Все стандартные диалоговые окна Swing имеют собственные UI-представители, отвечающие за интерфейс
окна в используемом приложении. Это особенно важно для внешних видов окон, имитирующих известные
платформы, пользователи которых не должны ощущать значительной разницы при переходе от «родных»
приложений к Java-приложениям.

Класс JOptionPane

Интерфейс экземпляра класса JOptionPane имеет структуру, представленную на следующем рисунке.
Иконка в интерфейсе может отсутствовать.

Основные диалоговые методы JOptionPane

Наименование метода Описание
showMessageDialog Диалоговое окно вывода сообщения
showConfirmDialog Диалоговое окно подтверждения, с включением кнопок типа yes/no/cancel
showInputDialog Диалоговое окно с выбором

Конструкторы окна сообщений showMessageDialog

// Простое диалоговое окно с заголовком «Message»
public static void showMessageDialog(Component parent,
                                     Object message) 
                                            throws HeadlessException
// Диалоговое окно с заголовком и типом сообщения
public static void showMessageDialog(Component parent,
                                     Object message, 
                                     String title,
                                     int messageType) 
                                            throws HeadlessException
// Диалоговое окно с заголовком, типом сообщения и иконкой
public static void showMessageDialog(Component parent,
                                     Object message,
                                     String title,
                                     int messageType,
                                     Icon icon)
                                            throws HeadlessException

Конструкторы окна подтверждения showConfirmDialog

// Простое диалоговое окно подтверждения с кнопками Yes, No, Cancel и
// с заголовком «Select an Option»
public static void showConfirmDialog(Component parent,
                                     Object message) 
                                         throws HeadlessException
// Окно подтверждения с заголовком и кнопками, определенными 
// опцией optionType
public static void showConfirmDialog(Component parent, 
                                     Object message, 
                                     String title, 
                                     int optionType) 
                                         throws HeadlessException
// Окно подтверждения с заголовком, кнопками, определенными 
// опцией optionType, и иконкой
public static void showConfirmDialog(Component parent, 
                                     Object message,
                                     String title,
                                     int optionType,
                                     Icon icon) 
                                         throws HeadlessException

Конструкторы окна выбора showInputDialog

// Диалоговое окно с полем ввода
public static void showInputDialog(Component parent,
                                   Object message) 
                                          throws HeadlessException
// Диалоговое окно с полем ввода, инициализируемое initialSelectionValue
public static void showInputDialog(Component parent, 
                                   Object message, 
                                   Object initialSelectionValue) 
                                          throws HeadlessException
// Диалоговое окно с полем выбора из списка selectionValues
public static void showInputDialog(Component parent, 
                                   Object message,
                                   String title, 
                                   int messageType,
                                   Icon icon,  
                                   Object[] selectionValues,
                                   Object initialSelectionValue) 
                                          throws HeadlessException

parent — родительское окно.

message — отображаемый в окне текст сообщения. В большинстве случаев это строка, но может
быть использован массив строк String[], компонент Component, иконка Icon, представленная меткой
JLabel, объект Object, конвертируемый в строку методом toString().

title — заголовок окна.

messageType — тип диалогового окна :

  • INFORMATION_MESSAGE — стандартное диалоговое окно для вывода информации со значком
    соответствующего вида;
  • WARNING_MESSAGE — стандартное диалоговое окно для вывода предупреждающей информации
    со значком соответствующего вида;
  • QUESTION_MESSAGE — стандартное диалоговое окно для вывода информации. Как правило,
    не используется для информационных сообщений;
  • ERROR_MESSAGE — стандартное диалоговое окно для вывода информации об ошибке со значком
    соответствующего вида;
  • PLAIN_MESSAGE — стандартное диалоговое окно для вывода информации без значка.

optionType — опция определения кнопок управления :

  • DEFAULT_OPTION
  • YES_NO_OPTION
  • YES_NO_CANCEL_OPTION
  • OK_CANCEL_OPTION

selectionValues — список возможных значений. В диалоговом окне InputDialog список
будет представлен в компоненте JComboBox или JList. Если selectionValues = null, то в окне
будет определено поле JTextField, в которое пользователь может ввести любое значение.

initialSelectionValue — инициализируемое значение.

icon — отображаемая в диалоговом окне иконка.

Локализация кнопок JOptionPane

Кнопки управления, как правило, имеют заголовки «Yes», «No», «Cancel». Для локализации кнопок
диалогового компонента JOptionPane можно использовать UIManager
следующим образом :

UIManager.put("OptionPane.yesButtonText"   , "Да"    );
UIManager.put("OptionPane.noButtonText"    , "Нет"   );
UIManager.put("OptionPane.cancelButtonText", "Отмена");
UIManager.put("OptionPane.okButtonText"    , "Готово");

Пример использования JOptionPane

Пример JOptionPaneTest.java включает использование всех типов диалоговых
окон JOptionPane. В интерфейсе окна, представленном на следующем скриншоте, размещаются
кнопки, по нажатию на которые формируются соответствующие диалоговые окна JOptionPane.

Листинг примера JOptionPane

// Пример использования диалоговых окон JOptionPane

import javax.swing.*;
import java.awt.event.*;

public class JOptionPaneTest extends JFrame 
{
    private        JPanel  contents       = null;
    private        JButton btnMessage1    = null;
    private        JButton btnMessage2    = null;
    private        JButton btnMessage3    = null;

    private        JButton btnConfirm1    = null;
    private        JButton btnConfirm2    = null;
    private        JButton btnConfirm3    = null;

    private        JButton btnInput1      = null;
    private        JButton btnInput2      = null;
    private        JButton btnInput3      = null;

    private      ImageIcon  icon          = null;
    private final  String   TITLE_message = "Окно сообщения";  
    private final  String   TITLE_confirm = "Окно подтверждения";
    private        String[] drink         = {"Сок",
                                             "Минералка",
                                             "Лимонад"  ,
                                             "Пиво"};
    public JOptionPaneTest()
    {
        super("Пример использования JOptionPane");
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        // Локализация кнопок
        UIManager.put("OptionPane.yesButtonText"   , "Да"    );
        UIManager.put("OptionPane.noButtonText"    , "Нет"   );
        UIManager.put("OptionPane.cancelButtonText", "Отмена");

        contents = new JPanel();
        // Иконка для отображения в окне сообщений
        icon = new ImageIcon("images/warning.png");

        // Кнопка формирования окна по 2-м параметрам
        btnMessage1 = new JButton("MessageDialog 2");
        // Кнопка формирования окна по 4-м параметрам
        btnMessage2 = new JButton("MessageDialog 4");
        // Кнопка формирования окна по 5-и параметрам
        btnMessage3 = new JButton("MessageDialog 5");

        // Кнопки вывода сообщений подтверждения
        btnConfirm1 = new JButton("ConfirmDialog 4+2");
        btnConfirm2 = new JButton("ConfirmDialog 5");
        btnConfirm3 = new JButton("ConfirmDialog 6");

        btnInput1 = new JButton("InputDialog 2+3");
        btnInput2 = new JButton("InputDialog 4");
        btnInput3 = new JButton("InputDialog 7");

        addMessageListeners();
        addConfirmListeners();
        addInputListeners  ();

        // Размещение кнопок в интерфейсе
        contents.add(btnMessage1);
        contents.add(btnMessage2);
        contents.add(btnMessage3);

        contents.add(btnConfirm1);
        contents.add(btnConfirm2);
        contents.add(btnConfirm3);

        contents.add(btnInput1);
        contents.add(btnInput2);
        contents.add(btnInput3);

        setContentPane(contents);
        // Вывод окна на экран
        setSize(500, 140);
        setVisible(true);
    }
}

В методах addMessageListeners(), addConfirmListeners(),
addInputListeners() определяются слушатели, обрабатывающие нажатие соответствующих
кнопок.

Окна вывода сообщений MessageDialog

Листинг процедуры создания слушателей, формирующие диалоговые окна вывода сообщений.

private void addMessageListeners()
{
    btnMessage1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JOptionPane.showMessageDialog(JOptionPaneTest.this, 
                 "<html><h2>Текст</h2><i>в виде разметки HTML</i>");
            }
        });
    btnMessage2.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JOptionPane.showMessageDialog(JOptionPaneTest.this,
                    new String[] {"Сообщение в виде массива строк :",
                                  " - первая строка",
                                  " - вторая строка"},
                                  TITLE_message,
                                  JOptionPane.ERROR_MESSAGE);
            }
        });
    btnMessage3.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            // Включение в интерфейс иконки
               JOptionPane.showMessageDialog(JOptionPaneTest.this,
                    "Использование изображения в окне сообщений",
                    TITLE_message, JOptionPane.INFORMATION_MESSAGE,
                    icon);
        }
    });
}

1. Интерфейс окна вывода сообщений по нажатию на кнопку btnMessage1. Конструктор
получает 2 параметра : родитель и текст сообщения. В заголовок подставляется значение «Message».
Текст сообщения имеет HTML разметку.

2. Интерфейс окна вывода сообщений по нажатию на кнопку btnMessage2. Конструктор
получает 4 параметра : родитель, текст сообщения в виде массива строк, строку заголовка окна и
тип сообщения.

3. Интерфейс окна вывода сообщений по нажатию на кнопку btnMessage2. Конструктор
получает 5 параметров : родитель, текст сообщения, строку заголовка окна, тип сообщения и иконку.

Диалоговые окна подтверждений ConfirmDialog

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

private void addConfirmListeners()
{
    btnConfirm1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            // Окно подтверждения c 4-мя параметрами
               int result = JOptionPane.showConfirmDialog(
                                      JOptionPaneTest.this, 
                                      "Вам это нужно?",
                                      TITLE_confirm,
                                      JOptionPane.YES_NO_CANCEL_OPTION);
            // Окна подтверждения c 2-мя параметрами
            if (result == JOptionPane.YES_OPTION)
                JOptionPane.showConfirmDialog(JOptionPaneTest.this,
                                              "Вы не отказываетесь?");
            else if (result == JOptionPane.NO_OPTION)
                JOptionPane.showConfirmDialog(JOptionPaneTest.this, 
                                              "Вы отказались?");
        }
    });
    btnConfirm2.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JOptionPane.showConfirmDialog(JOptionPaneTest.this,
                                          "Вы не отказываетесь?",
                                          TITLE_confirm,
                                          JOptionPane.YES_NO_OPTION,
                                          JOptionPane.WARNING_MESSAGE);
    }});
    btnConfirm3.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JOptionPane.showConfirmDialog(JOptionPaneTest.this,
                                         "Вам нравится значок?", 
                                          TITLE_confirm,
                                          JOptionPane.YES_NO_OPTION, 
                                          JOptionPane.ERROR_MESSAGE,
                                          icon);
    }});
}

1. Интерфейс окна подтверждения по нажатию на кнопку btnConfirm1. Конструктор
получает 4 параметра : родитель, текст сообщения, строка заголовка и опция кнопок управления

В зависимости от нажатой кнопки открываются следующее окно подтверждение (одно из окон на
следующем скриншот), конструктор которого получает 2 параметра. Текст заголовка имеет значение по
умолчанию «Select an Option».

2. Интерфейс окна подтверждения по нажатию на кнопку btnConfirm2. Конструктор
получает 5 параметров : родитель, текст сообщения, строка заголовка, опция кнопок управления и
тип сообщения.

3. Интерфейс окна подтверждения по нажатию на кнопку btnConfirm3. Конструктор
получает 6 параметров : родитель, текст сообщения, строка заголовка, опция кнопок управления,
тип сообщения и иконка.

Диалоговые окна выбора данных InputDialog

Листинг процедуры создания слушателей, формирующие диалоговые окна выбора

private void addInputListeners()
{
    btnInput1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            // Диалоговое окно ввода данных : родитель, HTML сообщение
            String result = JOptionPane.showInputDialog(
                                          JOptionPaneTest.this, 
                                          "<html><h2>Добро пожаловать");
            JOptionPane.showInputDialog(JOptionPaneTest.this, 
                                       "Вы ответили", result);
        }
    });
    btnInput2.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            // Диалоговое окно ввода данных : родитель, сообщение в виде
            // массива строк, тип диалогового окна (иконки)
            JOptionPane.showInputDialog(JOptionPaneTest.this, 
                              new String[] {"Неверно введен пароль!", 
                                            "Повторите пароль :"}, 
                                            "Авторизация", 
                                            JOptionPane.WARNING_MESSAGE);
        }
    });
    btnInput3.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            // Диалоговое окно ввода данных
            Object result = JOptionPane.showInputDialog(
                                        JOptionPaneTest.this,
                                        "Выберите любимый напиток :",
                                        "Выбор напитка", 
                                        JOptionPane.QUESTION_MESSAGE, 
                                        icon, drink, drink[0]);
            // Диалоговое окно вывода сообщения
            JOptionPane.showMessageDialog(JOptionPaneTest.this, result);
        }
    });
}

1. Интерфейс окна ввода данных по нажатию на кнопку btnInput1 представлен на скриншоте
слева. Конструктор получает 2 параметра : родитель и текст сообщения с разметкой HTML. После ввода
значения и нажатия на одну из клавиш открывается окно, представленное на скриншоте справа.

2. На следующем скриншоте представлен интерфейс окна ввода данных, создаваемое конструктором,
которому в качестве текста передается родитель, текстовое сообщение в виде массива строк, строка
заголовка и тип диалогового окна (иконки).

3. Интерфейс окна ввода данных по нажатию на кнопку btnInput3 представлен на следующем
скриншоте слева. Конструктор получает все возможные параметры : родитель, текстовое сообщение,
строка заголовка, тип диалогового окна, иконка, массив строк и выделенное значение по умолчанию.
В диалоговом окне возможные значения представлены в компоненте выпадающего списка. После выбора
значения и нажатия на одну из клавиш открывается окно вывода сообщения, представленное на
скриншоте справа.

Скачать примеры

Исходные коды примеров, рассмотренных на странице, можно
скачать здесь (2.25 Кб).

How to open warning/information/error dialog in Swing?

I need standard error dialog with «Ok» button and «red cross» image.
I.e. analog of org.eclipse.jface.dialogs.MessageDialog.openError()

Jonas's user avatar

Jonas

120k97 gold badges307 silver badges385 bronze badges

asked Jun 7, 2011 at 19:10

Oleg Vazhnev's user avatar

Oleg VazhnevOleg Vazhnev

23.1k54 gold badges170 silver badges303 bronze badges

See How to Make Dialogs.

You can use:

JOptionPane.showMessageDialog(frame, "Eggs are not supposed to be green.");

And you can also change the symbol to an error message or an warning. E.g see JOptionPane Features.

answered Jun 7, 2011 at 19:12

Jonas's user avatar

1

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class ErrorDialog {

  public static void main(String argv[]) {
    String message = ""The Comedy of Errors"n"
        + "is considered by many scholars to ben"
        + "the first play Shakespeare wrote";
    JOptionPane.showMessageDialog(new JFrame(), message, "Dialog",
        JOptionPane.ERROR_MESSAGE);
  }
}

answered Jun 11, 2014 at 13:36

Said Erraoudy's user avatar

Said ErraoudySaid Erraoudy

1,4801 gold badge13 silver badges21 bronze badges

1

JOptionPane.showOptionDialog
JOptionPane.showMessageDialog
....

Have a look on this tutorial on how to make dialogs.

answered Jun 7, 2011 at 19:13

Heisenbug's user avatar

HeisenbugHeisenbug

38.7k28 gold badges132 silver badges188 bronze badges

0

Just complementing, you can use static imports to give you a hand, making the code cleaner, like this:

import static javax.swing.JOptionPane.*;

public class SimpleDialog(){
    public static void main(String argv[]) {
        showMessageDialog(null, "Message", "Title", ERROR_MESSAGE);
    }
}

answered Oct 27, 2017 at 12:50

Ramon Dias's user avatar

Ramon DiasRamon Dias

7842 gold badges10 silver badges22 bronze badges

3


Following example showcase how to show an error message alert in swing based application.

We are using the following APIs.

  • JOptionPane − To create a standard dialog box.

  • JOptionPane.showMessageDialog() − To show the message alert.

  • JOptionPane.ERROR_MESSAGE − To mark the alert message as error.

Example

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class SwingTester {
   public static void main(String[] args) {
      createWindow();
   }

   private static void createWindow() {    
      JFrame frame = new JFrame("Swing Tester");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      createUI(frame);
      frame.setSize(560, 200);      
      frame.setLocationRelativeTo(null);  
      frame.setVisible(true);
   }

   private static void createUI(final JFrame frame){  
      JPanel panel = new JPanel();
      LayoutManager layout = new FlowLayout();  
      panel.setLayout(layout);       
      JButton button = new JButton("Click Me!");
      button.addActionListener(new ActionListener() {
         @Override
         public void actionPerformed(ActionEvent e) {
            JOptionPane.showMessageDialog(frame, "Please ensure compliance!",
               "Swing Tester", JOptionPane.ERROR_MESSAGE);
         }
      });

      panel.add(button);
      frame.getContentPane().add(panel, BorderLayout.CENTER);    
   }  
}

Output

Show a error message alert

swingexamples_dialogs.htm

Окно сообщения в Java

Окно сообщения в Java — это всплывающее окно, которое появляется на экране для отображения какого-либо сообщения и ожидает подтверждения от пользователя. Термин JOptionPane — это предоставляемый Java класс, который предоставляет пользователям привилегию показывать диалоговые окна сообщений. Этот класс наследуется от класса JComponent и присутствует в пакете javax.swing.

Ниже приведен блок кода, показывающий, как работает окно сообщения в Java.

import javax.swing.*;

public class DialogueBoxPopUp {
    public static void main(String[] args) {
         JOptionPane.showMessageDialog(null,
                "Hi, In the message box",
                "PopUp Dialog",
                JOptionPane.INFORMATION_MESSAGE);
    }
}

В приведенном выше простом блоке кода класс JOptionPane предлагает пользователям окна сообщений и ожидает ответа. В классе есть несколько статических методов, которые служат для пользователя служебными программами. Метод showConfirmDialog задает вопрос и подтверждает варианты да, нет и отмена. Метод showInputDialog предлагает пользователю ввести некоторые данные. Функция showMessageDialog сообщает пользователю о некоторых событиях.

Вышеупомянутый блок использует перегруженную версию метода showMessageDialog и принимает четыре параметра. Во-первых, аргумент parentComponent проверяет фрейм, в котором может отображаться компонент. Если значение является нулевым значением, то используется фрейм по умолчанию. В предыдущей программе передается нулевой фрейм, поэтому код использует фрейм по умолчанию.

Далее идет аргумент message, который выводит на экран сообщение Object. Аргумент title принимает строку заголовка для всплывающего окна. Сообщение в приведенном выше блоке имеет заголовок Всплывающее диалоговое окно, которое появляется в верхней части диалогового окна.

messageType — это тип сообщения, которое выполняет значения ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE или PLAIN_MESSAGE. Эти значения представлены как статические и конечные значения как тип сообщения в классе JOptionPane. Код использует INFORMATION_MESSAGE в качестве типа сообщения.

Проверьте результат предыдущей программы здесь:

Всплывающее диалоговое окно сообщения

Если тип сообщения изменится на JOptionPane.ERROR_MESSAGE, появится диалоговое окно сообщения об ошибке, как на изображении ниже.

Всплывающее диалоговое окно с ошибкой

Если тип сообщения изменится на JOptionPane.WARNING_MESSAGE, диалоговое окно с предупреждением будет выглядеть, как показано ниже.

Всплывающее диалоговое окно с предупреждением

Есть еще несколько типов сообщений, которые можно использовать при необходимости.

Joptionpane in java

Introduction to JOptionPane in Java

The JOptionPane is a class that is used to provide standard dialog boxes. It is a part of Java Swing which is used for creating window-based applications. JOptionPane is a component from Java Swing and it deals with dialog boxes especially. The dialog boxes can be of any type such as confirm dialog box, message dialog box or input dialog box. These dialog boxes can be used to display information to the user or to get input from the user.

Syntax:

public class JOptionPane extends JComponent implements Accessible

JComponent is a base class for Swing Components and Accessible is the main interface for the accessibility package. They both provide a standard mechanism that is required to support swing architecture.

JOptionPane Constructors

Below are the constructors as follows:

  • JOptionPane(): It creates an instance of JOptionPane with a default text message.
  • JOptionPane(Object message, int messageType): It creates an object of JOptionPane which will display a message with specified message type and default options delivered by User Interface.
  • JOptionPane(Object message): It creates an object of JOptionPane which will display a message with plain-message message type and default options delivered by User Interface.
  • JOptionPane(Object message, int messageType, int option type): It creates an instance of JOptionPane which will display a message with specified message type and options as well.
  • JOptionPane(Object message, int messageType, int optionType, Icon icon): Display a message with specified message type, option type and icon as well.

Methods of JOptionPane in Java

While there is a large number of methods in the JOptionPane class, they all fit in the format of showXxxDialog as below:

  • showInputDialog: Prompt user for some input.
  • showMessageDialog: Shows the dialog box with a message to the user.
  • show confirm dialog: Asks user a confirming question, like yes/no/cancel.
  • showOptionDialog: The combination of the above three.

All of these methods also come in showInternalXXX flavor, which will use an internal frame to hold the dialog box. Below are the commonly used methods in JOptionPane class:

 

Sr.No.

Methods & Description

1. JDialog createDialog(String title): This method is used to create a new instance of parentless JDialog with the provided title in the argument. JDialog is the main class for creating a dialog window.
2. JDialog createDialog(Component parentComponent, String title): This method is used to create a new instance of JDialog with the provided title in argument as well this method has the provision of providing parent component for dialog box which we are creating. JDialog is centered on the provided parent component in the frame of parentComponent.
3. static void showMessageDialog(Component parentComponent, Object message): This method pops up an information-message dialog box with the title as “Message”. By default, the title is “Message”. It has also parent component which we can pass. The dialog box will be centered on this parent component. See below example 1.
4. static void showMessageDialog(Component parentComponent, Object message, String title, int messageType): This method will show information-message with additional customizable parameters. It allows us to specify the title of the dialog box and choose the type of message shown. The option type of message will automatically choose the displaying icon on the dialog box. See below example 2.
5. static String shows InputDialog(Component parent component, Object message): This method will pop up a question-message dialog box with the message specified. Here also, we have provision to pass parent component. This method will return then the input provided by the user. We can use the same input further for business logic. See below example 3.
6. static int showConfirmDialog(Component parentComponent, Object message): This method will pop up a confirmation message dialog box with three options as Yes, No and Cancel. Each option representing an integer value as 0, 1 and 2 respectively.  We have two arguments over here, one is parent component and second is a message to be displayed. The method will then return the appropriate integer value according to the option chosen by the user.  See below example 4.
 

7

showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue): This method is like a combination of above all methods where we can create our customized dialog box as per user requirement. Here developers have the flexibility to pass arguments such as parent component, message, title of dialog box, option type, message type, icon. The initial value represents the default selection of options on the dialog box.

Almost all the methods from the JOptionPane class are static methods. Mostly we will access them directly without creating an instance of JOptionPane.

Examples of JOptionpane in Java

Below are the examples follow:

1. showMessageDialog()

Code:

simple dialog box with only message:

import javax.swing.JOptionPane;
public class Main extends JOptionPane
{
public static void main (String[] args)
{
JOptionPane.showMessageDialog( null, "Hello World..!" );
}
}

Here, the parent component is passed as null which means that there will be no parent for the dialog box and String argument is text message which will be shown on dialog box as information to the user.

Output:

output1 joption

2. showMessageDialog()

Same as example 1 but with additional title and message type as the argument:

Code:

import javax.swing.JOptionPane;
public class JOptionPaneExample
{
public static void main( String[] args )
{
JOptionPane.showMessageDialog( null, "Something Went Wrong.." , "Error as Title",
JOptionPane.ERROR_MESSAGE );
}
}

Output:

output2 joption

3. showInputDialog()

Take input from the user and display it on a dialog box.

Code:

import javax.swing.JOptionPane;
public class JOptionPaneExample extends JOptionPane
{
public static void main( String[] args )
{
String name = JOptionPane.showInputDialog( "Provide User Name:" );
JOptionPane.showMessageDialog(null, name);
}
}

Output:

output3 JOptionpane in Java

4. showConfirmDialog()

Code:

package swing.demo.dialogBox;
import javax.swing.JOptionPane;
public class JOptionPaneExample
{
public static void main( String[] args )
{
int input = JOptionPane.showConfirmDialog(null, "Are you Sure?");
// 0=yes, 1=no, 2=cancel
System.out.println(input);
}
}

Output:

output 4 JOptionpane in Java

Conclusion

In windows-based applications, Java Swing makes it very easy to develop them and it is a very powerful API. JOptionPane being a part of it simplifies creating dialog boxes in an easy manner. It provides standard dialog boxes such as the input dialog box, confirms dialog box and message dialog box. We can create our own custom dialog boxes as well. Since JOptionPane provides standard dialog boxes, it is very useful.

Recommended Articles

This is a guide to JOptionPane in Java. Here we discuss the constructor, methods, and examples of JOptionPane in java. You can also go through our other related articles to learn more –

  1. JTextField in Java
  2. JScrollPane in Java
  3. JDialog in Java
  4. JComboBox in Java

Понравилась статья? Поделить с друзьями:
  • Java lang outofmemoryerror java heap space ошибка
  • Java lang nullpointerexception ошибка как исправить на телефоне
  • Java lang nullpointerexception ошибка fss
  • Java lang nullpointerexception ошибка android
  • Java lang nullpointerexception group ошибка