Olá desenvolvedores, hoje vamos falar da entrada de dados, com o método JOptionPane. Como fazer para que o usuário a partir do teclado insira dados em nosso sistema? Isto é, como obter dados do usuário por meio do teclado e exibir na tela o resultado dessa iteração? Hoje vamos aprender como receber estes dados e como apresenta-los ao usuário.

Existem algumas formas de inserir dados em um sistema desenvolvido utilizando a linguagem Java, de forma a interagir com o usuário. Nos concentraremos no método que nos permite capturar dados por meio de janelas gráficas, também conhecidas como caixa de diálogo.

O recurso que utilizaremos pertence a classe JoptionPane, do pacote javax.swing, para a criação de janelas gráficas. Tal pacote oferece caixas de diálogo nativas tanto para entrada como para saída de dados. Como exibi-los? Invocando o método JoptionPane static.

Vamos criar um programa de adição simples que utiliza JoptionPane para entrada e saída de dados. E mostraremos a saída de dados no console com o método padrão do Java – printf(), do pacote de classes System.out.

IMPLEMETANDO O JOPTIONPANE

Assim, solicitaremos a entrada de dados do usuário a partir da caixa de diálogo JoptionPane.showInputDialog.

Quando executarmos o programa, uma caixa como mostrado abaixo será exibida.

Note que declaramos o tipo de dado a ser recebido como uma String. Mas sabemos que Strings são utilizadas para armazenar cadeias de caracteres contidas entre aspas duplas. Isto é, não podemos somar Strings. Para resolver este problema teremos que converter este dado para um tipo inteiro (int) ou ponto flutuante (float ou double).

A conversão poderá ser feita de duas formas, no momento em que recebemos o dado do usuário.

Ou ainda …

E como vamos exibir o resultado dessa operação? Primeiro vamos exibi-lo utilizando o método printf();

System.out.printf(soma); //Esta é apenas uma das variadas formas de exibir os dados.

Veja que dispensamos a variável soma, criada anteriormente para receber os valores das variáveis “num01” e “num02”. Dessa forma foi possível realizar a operação no momento de exibir o resultado para o usuário.

E como prometido vamos utilizar o JoptionPane também para exibir a saída de dados, utilizaremos o JoptionPane.show.MessageDialog.

A saída também será exibida em uma caixa de diálogo, como mostrado na figura abaixo.

CURIOSIDADE

Agora apenas com o objetivo de mostrar as muitas possibilidades do Java, vamos fazer mais um pequeno algoritmo. Não se preocupe com a sintaxe, este é apenas um bônus de curiosidade.

Inicialmente pediremos ao usuário para entrar com um nome. Na sequência faremos uma pergunta a ele, a mensagem que será exibida dependerá da resposta do usuário a pergunta. E claro, para isso usaremos a instrução de seleção if…else. E novamente imprimiremos os dados de saída no console.

Recapitulando, pediremos ao usuário que entre com o seu nome por meio do JOptionPane.showInputDialog. E utilizaremos o método printf(); para exibir este dado.

Quando o usuário inserir seu nome na caixa de diálogo como mostrado abaixo e clicar em ok:

Uma nova caixa de diálogo perguntando se ele é brasileiro será exibida, mas dessa vez, a única ação solicitada ao usuário é clicar em “sim” ou “não”.

Para exibir a caixa de diálogo mostrada acima utilizamos o JoptionPane.showConfirmDialog(null, “”), como mostramos a seguir.

Esta caixa de diálogo apresenta três valores default, sim, não e cancelar, cujos respectivos valores são 0, 1 e 2. E o valor padrão de inicialização que é -1. Assim, se “num” for igual a 0, significa que a resposta foi sim, e se o usuário clicar em não, “num” receberá o valor 1.

Mencionamos que o JoptionPane.showConfirmDialog apresenta três valores padrões, sim, não e cancelar. Porém, especificamos por meio do parâmetro YES_NO_OPTION que desejávamos apenas exibir as opções (OPTION) SIM (YES) e NÃO(NO).

EM POUCAS PALAVRAS

Agora você está pronto para criar seus próprios programinhas. Você sabe como capturar um dado inserido pelo usuário, sabe como exibir este mesmo dado, de duas maneiras distintas. E mais, sabe ainda como fazer uma pergunta ao usuário. Ainda que não entenda exatamente os parâmetros.

E se você quiser exibir as três opções do JoptionPane.showConfirmDialog, bastar retirar o parâmetro YES_NO_OPTION, o seu código ficaria assim:

Int num = JoptionPane.showConfirmDialog(null, “VOCÊ É BRASILEIRO(A) ” +nome+ “? “).

Legal, né? Ficamos por aqui, espero que tenham gostado. Falamos sobre a classe JoptionPane, aprendamos como receber dados do usuário, exibi-los e até exibir uma caixa de confirmação.