Recebendo dados do usuário através das caixas de diálogo

Vimos no artigo passado que as caixas de diálogo - ou dialog box - são muito usadas para exibir mensagens (principalmente de erros e alertas), e mostramos como fazer isso.

Porém, também podem ser usadas (e vamos mostrar como fazer isso) para receber dados do usuário, através de uma interface mais amigável e gráfica :)

Como usar as caixas de diálogo para receber dados do usuário em Java

Para usarmos as caixas de diálogo precisamos importar uma classe do pacote (package) javax.swing, que é um pacote que usaremos bastante em nossas aplicações gráficas Java.

Essa classe é estática e se chama JOptionPane.
Se acostume com esses nomes começados com J: JLabel, JButton, JTextField...

A importação, portanto, é:
import javax.swing.JOptionPane;

Recebendo informações do usuário através das caixas de diálogo

É uma espécie de classe 'Scanner', onde o usuário irá digitar algo e essa informação será atribuída a uma string.

Quando mostramos informações, usamos o método showMessageDialog.
Agora usaremos o método showInputDialog.

Note que não faz sentido simplesmente aparecer uma caixa de diálogo que recebe dados do usuário. É preciso que essa Dialog Box exiba alguma informação, como 'Qual seu nome?', 'Login', 'Senha' etc.
No caso do método showInputDialog, ele irá receber uma string (digitada pelo usuário) e exibirá uma mensagem na caixa de diálogo, essa mensagem será digitada entre parênteses do método showInputDialog e tudo que será digitado pelo usuário será armazenado na string 'nome', pois iremos perguntar o nome do usuário.

Aprenda a receber dados do usuário de maneira gráfica, através das caixas de diálogo em Java, pelo método showInputDialog.

Logo após, iremos exibir o nome do usuário. Como exibir?
Ora, através de uma caixa de diálogo que exiba um texto, isso já aprendemos na aula passada.

Nosso aplicativo que pergunta o nome do cliente e exibe uma mensagem gentil é:
import javax.swing.JOptionPane;

public class recebe_dados {
    
    public static void main(String[] args){
        String nome;
        
        nome = JOptionPane.showInputDialog("Digite seu nome, caro usuário.");
        
        JOptionPane.showMessageDialog(null,nome +"???\nNossa, que nome feio! \nPelo menos sabe programar em Java!");
    }

}

Aprenda a receber dados do usuário de maneira gráfica, através das caixas de diálogo em Java, pelo método showInputDialog.


Um método útil da classe String é o format, que formata a string, ou seja, altera, muda a string para o jeito que você quiser.
No nosso caso, seria útil usar esse método assim:
nome = String.format(nome +"???\nNossa, que nome feio! \nPelo menos sabe programar em Java!");

E usar a string 'nome' na JOptionPane.showMessageDialog assim:
JOptionPane.showMessageDialog(null,nome);


No próximo artigo mostraremos como transformar as informações, que são do tipo String, em tipos inteiro, float, double etc.

Dicas e Novidades de Java por e-mail

Sabe quanto custa um bom livro de java?
Entre R$ 100,00 e R$300,00

Sabe quanto custa um bom curso presencial de Java?
Entre R$ 1.500,00 até R$ 4.000,00

Sabe quanto custa estudar pelo Java Progressivo?
Absolutamente nada.

Porém, também precisamos de sua ajuda e apoio.
Para isso, basta curtir nossa Fan Page e clicar no botão G+ do Google.