Olá desenvolvedores, como estão vocês? Entrada de dados em Java por meio de janelas gráficas é o nosso assunto de hoje. Esta postagem é uma continuação da série sobre orientação a objetos que teve início com o post “ORIENTAÇÃO A OBJETOS: UMA BREVE INTRODUÇÃO”.

Nesta série já falamos sobre a construção e características de um objeto. Falamos sobre instanciação, atributos e referências, fizemos uma comparação entre os paradigmas procedural e da orientação a objetos. Ou seja, tem muito conteúdo pra você devorar e aprender.

E agora, daremos sequência a aplicação que estamos desenvolvendo. Onde de forma progressiva apresento a vocês os principais recursos da linguagem Java, juntamente com a maneira de pensar a orientação a objetos. vamos então construir a entrada de dados do nosso sistema a partir do teclado.

CLASSE JOTIONPANE

Até aqui a maioria das implementações resultaram em uma saída no console para exibir o resultado do processamento. E para isso sempre utilizando o recurso System.out.println do método print.

Entretanto, a partir de agora a nossa implementação requer uma melhor forma de interagir com o usuário. Começamos a evoluir e precisamos aprimorar nossas habilidades adequando-as ao que o sistema nos pede. Ainda continuaremos mostrando o resultado do processamento no console, mas apresentarei a vocês uma saída resultante do uso do JoptionPane.

IMPLEMENTANDO O JOPTIONPANE

Assim sendo, o exemplo abaixo apresenta como utilizar o recurso da classe JoptionPane que fornece uma janela gráfica para interação entre sistema e usuário. A classe JoptionPane faz parte do pacote javax.swing, ela permite que o usuário insira informações nas caixas de diálogos. E pode ainda exibir informações ou avisos.

String nome = JOptionPane.showInputDialog("Insira o nome do aluno");

Analisando a linha de código acima perceba que ela estabelece um diálogo com o usuário por meio do método “showInputDialog”. Estamos pedindo a ele que insira o nome do aluno.

A variável “nome” que recebe o dado passado pelo usuário via teclado, vai passar este dado como parâmetro para o objeto aluno01.

Aluno01.setNome(nome);

Execute a aplicação e veja ainda no console o resultado desta simples linha de código implementada.

Vamos repetir o processo para todos os atributos do objeto. Isto é, solicitar a informação via interface gráfica, armazená-la em uma variável e passá-la como parâmetro para o atributo correspondente. Faremos juntos mais um exemplo, vamos trabalhar com a idade do aluno.

Entenda que o método “showInputDialog”, retorna uma String, o que nos obriga a declararmos nossa variável como sendo do tipo String. Entretanto, a idade do aluno foi “setada” como sendo um tipo inteiro.

Dessa forma teremos que recorrer ao objeto “Integer”. Este objeto fará a conversão da String para o tipo inteiro no momento em que passarmos o parâmetro para o método “setIdade”.

aluno01.setIdade(Integer.valueOf(idade));

Agora é com você, repita o processo até ter passado todos os dados. Não esqueça de fazer o mesmo com as notas. Aliás, a exemplo do que aconteceu com a idade irá apresentar erro se somente passarmos o parâmetro sem fazer a conversão.

E lembre-se que nota é um tipo double, isto significa que procederemos de um modo distinto para fazermos a Conversão. Onde uma String é recebida e um double é retornado.

aluno01.setNota01(Double.parseDouble(nota01));
aluno01.setNota02(Double.parseDouble(nota02));
aluno01.setNota03(Double.parseDouble(nota03));
aluno01.setNota04(Double.parseDouble(nota04));

EM POUCAS PALAVRAS

E finalmente temos um pequeno sistema. Há muito trabalho pela frente mas observe que agora todas as informações são passadas pelo usuário, e não mais pelo programador. Isto significa que nosso sistema está agora mais dinâmico, a partir da entrada de dados usando o recurso JOptionPane

Vamos recapitular o que fizemos hoje neste tutorial. Já inseridos no contexto de janela gráfica solicitamos ao usuário que entrasse com os dados do aluno. Após a inserção dos dados o objeto foi instanciado. As informações armazenadas nas respectivas variáveis foram passados como parâmetro. No entanto, alguns destes dados precisaram ser convertidos, idade em um tipo inteiro e notas em um tipo double.

E por último chamamos os métodos para calcular a média para saber a situação acadêmica do aluno. Ou seja, verificar se o mesmo está ou não aprovado. Concluímos exibindo o resultado no console que após os dados inseridos apresentou a seguinte saída.

Uma curiosidade, preste atenção no ícone que exibe a caixa de diálogo ShowInputDialog. Ele representa uma constante (QUESTION_MESSAGE) que caracteriza o tipo da mensagem que está sendo exibida. No caso do exemplo, uma questão que é apresentada ao usuário.

Então é isso caros desenvolvedores, ficamos por aqui com mais um tutorial. Onde o objetivo proposto foi apresentar a vocês um tipo de saída que usa um recurso gráfico do próprio Java. E a partir dele explicar o fluxo de processamento até a resposta final que é exibida ao usuário.

Espero que tenham gostado e compreendido tudo o que conversamos hoje. Até a próxima.