Trabalhando com JOptionPane Java (Para quem tem dúvidas)

Estou disponibilizando um programa com diversas janelas do tipo JOptionPane, para quem está com dúvidas de como fazer o uso delas nos seus programas.

// Programa que exibe várias janelas

import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

public class Dialogo2
{
	public static void main(String[] args)
	{
		/* Título da janela: 1 Janela de Diálogo
		   Mansagem exibida: Primeira janela!
		   Íco: ERRO_MESSAGE
		   Botões: YES e NO*/
		JOptionPane.showOptionDialog(null, "Primeira janela!", "1 Janela de Diálogo", 0, 0, null, null, "");
		
		/* Título da janela: 2 Janela de Diálogo
		   Mansagem exibida: Segunda janela!
		   Íco: ERRO_MESSAGE
		   Botões: YES e NO e CANCEL*/
		JOptionPane.showOptionDialog(null, "Segunda janela!", "2 Janela de Diálogo", 1, 0, null, null, null);
		
		/* Título da janela: 3 Janela de Diálogo
		   Mansagem exibida: Terceira janela!
		   Íco: ERRO_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Terceira janela!", "3 Janela de Diálogo", 2, 0, null, null, "");
		
		/* Título da janela: 4 Janela de Diálogo
		   Mansagem exibida: Quarta janela!
		   Íco: INFORMATION_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Quarta janela!", "4 Janela de Diálogo", 2, 1, null, null, null);
		
		/* Título da janela: 5 Janela de Diálogo
		   Mansagem exibida: Quinta janela!
		   Íco: WARNING_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Quinta janela!", "5 Janela de Diálogo", 2, 2, null, null, "");
		
		/* Título da janela: 6 Janela de Diálogo
		   Mansagem exibida: Sexta janela!
		   Íco: QUESTION_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Sexta janela!", "6 Janela de Diálogo", 2, 3, null, null, null);
		
		/* Título da janela: 7 Janela de Diálogo
		   Mansagem exibida: Nona janela!
		   Íco: -----
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Nona janela!", "7 Janela de Diálogo", 2, -1, null, null, null);
		
		/* Título da janela: 1.1 Janela de Diálogo
		   Mansagem exibida: Oitava janela!
		   Íco: ERRO_MESSAGE
		   Botões: YES e NO*/
		JOptionPane.showOptionDialog(null, "Oitava janela!", "1.1 Janela de Diálogo", JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE, null, null, null);
		
		/* Título da janela: 2.1 Janela de Diálogo
		   Mansagem exibida: Nona janela!
		   Íco: ERRO_MESSAGE
		   Botões: YES e NO e CANCEL*/
		JOptionPane.showOptionDialog(null, "Nona janela!", "2.1 Janela de Diálogo", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.ERROR_MESSAGE, null, null, "");
		
		/* Título da janela: 3.1 Janela de Diálogo
		   Mansagem exibida: Décima janela!
		   Íco: ERRO_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima janela!", "3.1 Janela de Diálogo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.ERROR_MESSAGE, null, null, null);
		
		/* Título da janela: 4.1 Janela de Diálogo
		   Mansagem exibida: Décima Primeira janela!
		   Íco: INFORMATION_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima Primeira janela!", "4.1 Janela de Diálogo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, "");
		
		/* Título da janela: 5.1 Janela de Diálogo
		   Mansagem exibida: Décima Segunda janela!
		   Íco: WARNING_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima Segunda janela!", "5.1 Janela de Diálogo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null, null, null);
		
		/* Título da janela: 6.1 Janela de Diálogo
		   Mansagem exibida: Décima Terceira janela!
		   Íco: QUESTION_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima Terceira janela!", "6.1 Janela de Diálogo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, "");
				
		/* Título da janela: 7.1 Janela de Diálogo
		   Mansagem exibida: Décima Quarta janela!
		   Íco: -----
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima Quarta janela!", "7.1 Janela de Diálogo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE, null, null, null);
		
		// Array para modificar os botões do JOptionPaneOptionMessage
		Object [] arranjo = {"PYTHON", "JAVA", "C++", "C", "OUTRA"};
		int resposta = JOptionPane.showOptionDialog(null, "Qual foi o tipo de Linguagem utilizada para fazer este programa?", "Enquete sobre programação", 0, JOptionPane.QUESTION_MESSAGE, null, arranjo, arranjo[3]);
		
		if (resposta == 0 || resposta == 2 || resposta == 3 || resposta == 4)
		{
			ImageIcon iconeTriste = new ImageIcon("D:\\Cursos diversos\\Programação\\Programas\\Ícone\\EmojiTriste.png"); // Informar o local onde a imagem está
			JOptionPane.showMessageDialog(null, "Que pena! Você errou!", "Enquete sobre programação", JOptionPane.ERROR_MESSAGE, iconeTriste);
		}
		
		if (resposta == 1)
		{
			ImageIcon iconeFeliz = new ImageIcon("D:\\Cursos diversos\\Programação\\Programas\\Ícone\\EmojiFeliz.png"); // Informar o local onde a imagem está
			JOptionPane.showMessageDialog(null, "Uhhhuuuu! Você a certo em cheio!!!", "Enquete sobre programação", JOptionPane.PLAIN_MESSAGE, iconeFeliz);
		}
	}
}
2 curtidas

Dica: Observem bem cada mudança no código para ir compreendo o que vai mudando de uma janela para outra.

Obs.: Quem quiser ajudar, pode neste tópico, acrescentar neste programa, mais comandos com JOptionPane, para ajudar os iniciantes :smile::pray:
Forte abraço programadores!

1 curtida

Atualização:

// Programa que exibe várias janelas`

    import javax.swing.ImageIcon;
    import javax.swing.JOptionPane;

public class Dialogo2
{
	public static void main(String[] args)
	{
		/* Título da janela: 1 Janela de Diálogo
		   Mansagem exibida: Primeira janela!
		   Íco: ERRO_MESSAGE
		   Botões: YES e NO*/
		JOptionPane.showOptionDialog(null, "Primeira janela!", "1 Janela de Diálogo", 0, 0, null, null, "");
		
		/* Título da janela: 2 Janela de Diálogo
		   Mansagem exibida: Segunda janela!
		   Íco: ERRO_MESSAGE
		   Botões: YES e NO e CANCEL*/
		JOptionPane.showOptionDialog(null, "Segunda janela!", "2 Janela de Diálogo", 1, 0, null, null, null);
		
		/* Título da janela: 3 Janela de Diálogo
		   Mansagem exibida: Terceira janela!
		   Íco: ERRO_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Terceira janela!", "3 Janela de Diálogo", 2, 0, null, null, "");
		
		/* Título da janela: 4 Janela de Diálogo
		   Mansagem exibida: Quarta janela!
		   Íco: INFORMATION_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Quarta janela!", "4 Janela de Diálogo", 2, 1, null, null, null);
		
		/* Título da janela: 5 Janela de Diálogo
		   Mansagem exibida: Quinta janela!
		   Íco: WARNING_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Quinta janela!", "5 Janela de Diálogo", 2, 2, null, null, "");
		
		/* Título da janela: 6 Janela de Diálogo
		   Mansagem exibida: Sexta janela!
		   Íco: QUESTION_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Sexta janela!", "6 Janela de Diálogo", 2, 3, null, null, null);
		
		/* Título da janela: 7 Janela de Diálogo
		   Mansagem exibida: Sétima janela!
		   Íco: -----
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Sétima janela!", "7 Janela de Diálogo", 2, -1, null, null, null);
		
		/* Título da janela: 8 Janela de Diálogo
		   Mansagem exibida: Oitava janela!
		   Íco: -----
		   Botões: OK*/
		JOptionPane.showOptionDialog(null, "Oitavo janela!", "8 Janela de Diálogo", -1, -1, null, null, null);
		
		/* Título da janela: 1.1 Janela de Diálogo
		   Mansagem exibida: Nona janela!
		   Íco: ERRO_MESSAGE
		   Botões: YES e NO*/
		JOptionPane.showOptionDialog(null, "Nona janela!", "1.1 Janela de Diálogo", JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE, null, null, null);
		
		/* Título da janela: 2.1 Janela de Diálogo
		   Mansagem exibida: Décima janela!
		   Íco: ERRO_MESSAGE
		   Botões: YES e NO e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima janela!", "2.1 Janela de Diálogo", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.ERROR_MESSAGE, null, null, "");
		
		/* Título da janela: 3.1 Janela de Diálogo
		   Mansagem exibida: Décima Primeira janela!
		   Íco: ERRO_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima Primeira janela!", "3.1 Janela de Diálogo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.ERROR_MESSAGE, null, null, null);
		
		/* Título da janela: 4.1 Janela de Diálogo
		   Mansagem exibida: Décima Segunda janela!
		   Íco: INFORMATION_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima Segunda janela!", "4.1 Janela de Diálogo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, "");
		
		/* Título da janela: 5.1 Janela de Diálogo
		   Mansagem exibida: Décima Terceira janela!
		   Íco: WARNING_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima Terceira janela!", "5.1 Janela de Diálogo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null, null, null);
		
		/* Título da janela: 6.1 Janela de Diálogo
		   Mansagem exibida: Décima Quarta janela!
		   Íco: QUESTION_MESSAGE
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima Quarta janela!", "6.1 Janela de Diálogo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, "");
				
		/* Título da janela: 7.1 Janela de Diálogo
		   Mansagem exibida: Décima Quinta janela!
		   Íco: -----
		   Botões: OK e CANCEL*/
		JOptionPane.showOptionDialog(null, "Décima Quinta janela!", "7.1 Janela de Diálogo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE, null, null, null);
		
		/* Título da janela: 8.1 Janela de Diálogo
		   Mansagem exibida: Décima Sexta janela!
		   Íco: -----
		   Botões: OK*/
		JOptionPane.showOptionDialog(null, "Décima Sexta janela!", "8.1 Janela de Diálogo", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, null, null);
		
		// Array para modificar os botões do JOptionPaneOptionMessage
		Object [] arranjo = {"PYTHON", "JAVA", "C++", "C", "OUTRA"};
		int resposta = JOptionPane.showOptionDialog(null, "Qual foi o tipo de Linguagem utilizada para fazer este programa?", "Enquete sobre programação", 0, JOptionPane.QUESTION_MESSAGE, null, arranjo, arranjo[3]);
		
		if (resposta == 0 || resposta == 2 || resposta == 3 || resposta == 4)
		{
			ImageIcon iconeTriste = new ImageIcon("D:\\Cursos diversos\\Programação\\Programas\\Ícone\\EmojiTriste.png");
			JOptionPane.showMessageDialog(null, "Que pena! Você errou!", "Enquete sobre programação", JOptionPane.ERROR_MESSAGE, iconeTriste);
		}
		
		if (resposta == 1)
		{
			ImageIcon iconeFeliz = new ImageIcon("D:\\Cursos diversos\\Programação\\Programas\\Ícone\\EmojiFeliz.png");
			JOptionPane.showMessageDialog(null, "Uhhhuuuu! Você a certo em cheio!!!", "Enquete sobre programação", JOptionPane.PLAIN_MESSAGE, iconeFeliz);
		}
	}
}

https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html#features