• Nenhum resultado encontrado

Projeto Desktop - Aula 2016-09-12

N/A
N/A
Protected

Academic year: 2021

Share "Projeto Desktop - Aula 2016-09-12"

Copied!
6
0
0

Texto

(1)

PROJETO DESKTOP

Aula 12/09/2016

https://sites.google.com/site/profalinerosafeuc Prof. Aline Rosa

E-mail: [email protected]

RECAPITULANDO

Na última aula iniciamos a construção de um novo projeto, o cálculo de uma conta de telefone baseado nos pulsos. Vimos como utilizar uma Classe Abstrata e Polimorfismo. Nesta aula vamos implementar a Tela e o uso de um novo componente.

CONSTRUINDO A TELA

Crie um novo JFrame com o nome de TelaTelefone e coloque-o no pacote Visao. Defina as seguintes propriedades:

PROPRIEDADE VALOR

Política de Tamanho do Form Gerar Código de Redimensionamento

Gerar Posição Desmarcado

Gerar Tamanho Marcado

Gerar Centralizado Marcado

Insira os componentes conforme modelo seguinte:

Figura 1 - Modelo de tela

(2)

COMPONENTE PROPRIEDADE VALOR JTextField1 Nome da Variável txtNome

JTextField1 Text (vazio)

JTextField2 Nome da Variável txtTelefone

JTextField2 Text (vazio)

JTextField3 Nome da Variável txtValorPulso

JTextField3 Text (vazio)

JTextField4 Nome da Variável txtQuantPulso

JTextField4 Text (vazio)

JTextField5 Nome da Variável txtAssinatura

JTextField5 Text (vazio)

JLabel1 Text Tipo de conta:

JLabel2 Text Nome:

JLabel3 Text Telefone:

JLabel4 Text Valor pulso:

JLabel5 Text Quant. pulso:

JLabel6 Text Assinatura

JButton1 Nome da Variável btnCalcular

JButton1 Text Calcular

JButton2 Nome da Variável btnLimpar

JButton2 Text Limpar

JButton3 Nome da Variável btnSair

JButton3 Text Sair

COMPONENTE JComboBox

O componente JComboBox (Caixa de Combinação) localiza-se nos controles Swing. Ele permite a exibição de um conjunto de opções para seleção de uma delas. Podem ser usados, entre outros, vários métodos para ter acesso fácil ao seu conteúdo e ao que estiver selecionado.

getSelectedItem() – Devolve o item que estiver selecionado

getSelectedIndex() – Devolve o número da linha do item selecionado. Em nosso projeto o JComboBox terá as seguintes propriedades:

PROPRIEDADE VALOR

Nome da Variável comboConta

Model Conta padrao, Conta popular

Podemos também adicionar as opções via design.

Clique com o botão direito do mouse, no menu suspenso escolha Propriedades. Nas propriedades, localize model, clique no botão [...].

(3)

Figura 2 - Acessando os itens do JComboBox

Quando o editor abrir podemos colocar cada opção em uma linha.

Figura 3 - Inserindo valores num JComboBox Clique em OK para finalizar.

EVENTOS DE BOTÕES

Encerrada a construção da janela da aplicação, vamos agora escrever o código de clique nos botões.

EVENTO DO BOTÃO SAIR

O botão Sair (btnSair), da mesma forma que vimos em outras janelas, pode fechar uma janela ou encerrar a aplicação. Dê um duplo clique nele para gerar o código do evento. Insira o trecho seguinte que fará a aplicação ser encerrada:

private void btnSairActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0);

}

EVENTO DO BOTÃO LIMPAR

O botão Limpar (btnLimpar) executará a mesma ação já vista. Limpará o conteúdo dos campos de texto. Insira o código seguinte:

(4)

private void btnLimparActionPerformed(java.awt.event.ActionEvent evt) { // Altera o valor dos campos de texto para vazio.

txtNome.setText(""); txtQuantPulso.setText(""); txtTelefone.setText(""); txtValorPulso.setText(""); txtAssinatura.setText("");

// Posiciona (focaliza) o cursor no campo “txtNome”.

txtNome.requestFocus(); }

Código relativamente simples, apenas altera o conteúdo de todos os campos de texto para vazio (“”) e posiciona o cursor na caixa txtNome.

EVENTO DO BOTÃO CALCULAR

No evento desse botão vamos, a partir do valor selecionado na Caixa de Combinação, escolher uma ação a ser executada. Dê dois cliques no botão para gerar o código e insira o trecho seguinte:

private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) { // Verifica se o item selecionado na "Caixa de Combinação" pertence ao índice(0).

if (comboConta.getSelectedIndex() == 0){ // Instancia a classe ContaPadrão.

ContaPadrao cpa = new ContaPadrao();

// Passa valores dos campos de texto para a classe.

cpa.setNome(txtNome.getText());

cpa.setTelefone(txtTelefone.getText());

cpa.setValorPulso(Double.parseDouble(txtValorPulso.getText())); cpa.setQuantPulso(Integer.parseInt(txtQuantPulso.getText())); cpa.setAssinatura(Double.parseDouble(txtAssinatura.getText())); // Executa o método de Calcular validando os valores.

try{

// Exibe o resultado numa caixa de diálogo.

JOptionPane.showMessageDialog(null, "Valor a pagar: " + cpa.CalcularConta());

}

catch(Exception erro){

// Exibe mensagem de erro em caso de não conseguir executar o cálculo.

JOptionPane.showMessageDialog(null, "Verifique valores."); }

} else{

// Instancia a classe ContaPopular.

ContaPopular cpo = new ContaPopular();

// Passa valores dos campos de texto para a classe.

cpo.setNome(txtNome.getText());

cpo.setTelefone(txtTelefone.getText());

cpo.setValorPulso(Double.parseDouble(txtValorPulso.getText())); cpo.setQuantPulso(Integer.parseInt(txtQuantPulso.getText())); // Executa o método de Calcular validando os valores.

try{

// Exibe o resultado numa caixa de diálogo.

JOptionPane.showMessageDialog(null, "Valor a pagar: " + cpo.CalcularConta());

(5)

catch(Exception erro){

// Exibe mensagem de erro em caso de não conseguir executar o cálculo.

JOptionPane.showMessageDialog(null, "Verifique valores."); }

} }

Esse trecho de código é o mais longo. Utilizamos uma estrutura if – else para testar uma condição. if (comboConta.getSelectedIndex() == 0){ ContaPadrão... } else { ContaPopular... }

Na condição, verificamos qual índice do comboConta está selecionado, se o índice for “0”, sabemos que o usuário selecionou a Conta Padrão, então o código no primeiro bloco será executado. Se o índice selecionado for “1”, quer dizer que o usuário selecionou a Conta Popular, então o código no bloco else será executado.

O BLOCO IF

// Instancia a classe ContaPadrão.

ContaPadrao cpa = new ContaPadrao();

Aqui, a classe ContaPadrão é instanciada na variável cpa.

// Passa valores dos campos de texto para a classe.

cpa.setNome(txtNome.getText());

cpa.setTelefone(txtTelefone.getText());

cpa.setValorPulso(Double.parseDouble(txtValorPulso.getText())); cpa.setQuantPulso(Integer.parseInt(txtQuantPulso.getText())); cpa.setAssinatura(Double.parseDouble(txtAssinatura.getText()));

Em seguida, enviamos os valores dos campos de texto para a função set da classe fazendo com que os valores de suas variáveis sejam alterados.

// Executa o método de Calcular validando os valores.

try{

// Exibe o resultado numa caixa de diálogo.

JOptionPane.showMessageDialog(null, "Valor a pagar: " + cpa.CalcularConta()); }

catch(Exception erro){

// Exibe mensagem de erro em caso de não conseguir executar o cálculo.

JOptionPane.showMessageDialog(null, "Verifique valores."); }

Finalizamos o primeiro trecho envolvendo a chamada ao método CalcularConta()

dentro de um bloco try-catch, para caso um valor inválido seja inserido o programa não pare, mas trate o erro exibindo uma caixa de diálogo para o usuário.

O BLOCO ELSE

Como utilizamos apenas duas opções no comboConta, colocamos o código para a segunda opção no bloco else.

(6)

// Instancia a classe ContaPopular.

ContaPopular cpo = new ContaPopular();

Aqui, a classe ContaPopular é instanciada na variável cpo.

// Passa valores dos campos de texto para a classe.

cpo.setNome(txtNome.getText());

cpo.setTelefone(txtTelefone.getText());

cpo.setValorPulso(Double.parseDouble(txtValorPulso.getText())); cpo.setQuantPulso(Integer.parseInt(txtQuantPulso.getText()));

Em seguida, enviamos os valores dos campos de texto para a função set da classe fazendo com que os valores de suas variáveis sejam alterados. Note que a classe ContaPopular não possui o campo Assinatura, portanto não pegamos o valor deste campo de texto.

// Executa o método de Calcular validando os valores.

try{

// Exibe o resultado numa caixa de diálogo.

JOptionPane.showMessageDialog(null, "Valor a pagar: " + cpo.CalcularConta()); }

catch(Exception erro){

// Exibe mensagem de erro em caso de não conseguir executar o cálculo.

JOptionPane.showMessageDialog(null, "Verifique valores."); }

Finalizamos este trecho da mesma forma que o primeiro, envolvendo a chamada ao método CalcularConta() dentro de um bloco try-catch, para o tratamento de um possível erro e a caixa de diálogo ser exibida ao usuário.

Referências

Documentos relacionados

Instrumento de Avaliação Institucional Externa, datado outubro de 2017, 3.4 Políticas institucionais e ações acadêmico- administrativas para a pesquisa ou iniciação.. científica,

Durante a reprodução AVI/DVD.VCD, premir GO TO e o menu será exibido como se indica: Usar para seleccionar TÍTULO, CAPÍTULO, TEMPO. Usar as teclas numéricas para introduzir o

Branago Imperial Comffere Allmaq Victor & Buono Romi 1ª Linha Kall Equips... Unidade 4 KIT 20 SOFTWARES EDUCACIONAIS ESPECÍFICOS CAD/CAE

Campanha pela Redução da Desigualdade Social no Brasil - Para o CFESS é um espaço 50. estratégico não somente pela temática proposta, que dialoga com nossas

DESPESAS COM SERVICOS DE CHAVEIRO EM BENS MOVEIS PARA ATENDIMENTO DO PODER JUDICIARIO DE MS, DURANTE O ANO/EXERCICIO DE 2012, CONFORME PEDIDO DE COMPRA N. Anulação

Segundo a concepção do bispo Edir Macedo, a qualidade da fé esta relacionada com aquilo que o indivíduo é capaz de oferecer a Deus, ou seja, quanto mais se sacrifica, mais e melhor

Conclui-se que as dificuldades vivenciadas pelas mulheres em situação de aleitamento materno prisional são a falta de informação, pouca orientação sobre qual seria o

Dizemos que um predicado é verbal quando ele apresenta verbo significativo (que pode ser um verbo transitivo ou intransitivo).. Exemplo: As crianças invadiram