Buscar

POO lista9

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Unidade Acadêmica de Garanhuns 
Curso: Bacharelado em Ciência da Computação. 
Disciplina: Programação Orientada à Objetos. 
Semestre: 2014.1 
Professora: Thaís Alves Burity Rocha. 
 
9ª Lista de Exercícios 
Observação 1: O uso de comentários de código não é exigido, embora seja fortemente recomendado. 
Observação 2: Adicione o comando import javax.swing.*; em seu código. 
1) A classe Poupanca apresentada a seguir deverá fazer parte de um aplicativo para o cálculo dos ganhos com 
aplicações em poupança, denominado Poupex. A classe possui os atributos necessários para realizar o cálculo 
(o período da aplicação em anos, o valor dos juros mensais e a quantidade que é depositada mensalmente na 
poupança) e o método de cálculo em si. Sobre o aplicativo Poupex, responda: 
public class Poupanca { 
 private int anos; 
 private double juros, depositoMensal; 
 public Poupanca(int a, double j, double dm) { 
 anos = a; 
 juros = j/100; 
 depositoMensal = dm; 
 } 
 public double calculaTotal() { 
 int numPagamentos = anos * 12; 
 double total = 0; 
 for (int i = 0; i < numPagamentos; i++) { 
 total = total + depositoMensal; 
 total = total + total * juros; 
 } 
 return total; 
 } 
} 
a. Crie uma classe para GUI denominada AplicacaoPoupanca que, ao ser executada, gera uma 
janela (classe JFrame) como a mostrada a seguir. Utilize o material da aula como guia e não configure 
gerenciadores de layout. Redimensione a janela para verificar o que acontece com os componentes da 
interface gráfica. Dica: Configure o tamanho das caixas de texto como 15 e os limites da janela usando 
o método setBounds(50, 100, 330, 150) de JFrame. 
 
b. Desenvolva uma nova versão da classe AplicacaoPoupanca, de maneira que a janela gerada tenha 
a aparência da figura a seguir. Dica: Utilize o gerenciador de layout GridLayout, que divide a tela 
em células, tal como uma matriz (construtor com 2 parâmetros – linhas e colunas, respectivamente). 
Redimensione a janela para verificar o que acontece com os componentes da interface gráfica. 
 
c. Desenvolva uma nova versão da classe AplicacaoPoupanca, de maneira que os componentes não 
tenham o tamanho alterado quando a janela é redimensionada, como mostra a imagem a seguir. Dica: 
Coloque cada componente em um JPanel que tenha FlowLayout, e depois acrescente os 
JPanels no GridLayout. 
 
d. Atualize a última versão da classe AplicacaoPoupanca, adicionando o tratamento de eventos ao 
botão de OK, a fim de que os valores de entrada sejam passados para o método de cálculo da classe 
Poupanca e o resultado obtido seja exibido no local apropriado na GUI. 
e. Atualize a última versão da classe AplicacaoPoupanca, adicionando um menu de informações 
sobre o aplicativo, conforme a figura a seguir. Dica: Utilize as classes JMenuBar, JMenu e 
JMenuItem, tal como visto em sala de aula. 
 
f. Crie uma caixa de diálogo (classe JDialog) contendo informações básicas sobre o aplicativo, tal 
como ilustrado pela figura a seguir. Dica: Utilize um JTextArea e configure-o para que não seja 
editável (método setEditable(false);) e para que automaticamente o texto pule de linha caso 
não caiba nas dimensões da janela (método setLineWrap(true);). Sugestão de tamanho de 
janela: 300x100. 
 
g. Adicione o tratamento de eventos à opção de menu Sobre Poupex a fim de que seja exibido o 
JDialog desenvolvido na letra anterior. 
2) Atualize o sistema bancário a fim de utilizar GUI. Para tanto, crie um JFrame com uma barra de menu 
(JMenuBar) com funcionalidades para cliente (cadastro, consulta e remoção). Ao clicar em qualquer uma 
dessas opções, deve ser exibido um JDialog que, por sua vez, deve solicitar os seguintes dados: 
 Cadastro: Nome, CPF e endereço (no mínimo, CEP, número e complemento). 
 Consulta: CPF. 
 Remoção: CPF. 
Ao término do processamento de cada uma das operações, deve ser exibido um JOptionPane informando se 
a operação foi realizada com sucesso ou não. Lembre-se de utilizar ícones coerentes com o conteúdo da 
mensagem. Utilize o material da aula como modelo. Por fim, faça o tratamento de eventos e demonstre o correto 
funcionamento do sistema, exibindo no console o tamanho do repositório de clientes sempre que uma operação 
for realizada. 
3) Continue a construção da GUI do sistema bancário, provendo as funcionalidades referentes à conta (cadastro, 
consulta e remoção), tal como feito na questão anterior para cliente. Lembre-se que o sistema suporta os 
seguintes tipos de conta: conta corrente, poupança, conta bonificada e conta imposto. 
4) Atualize a classe OrdemCrescente (lista 2, questão 5), de maneira que a lógica de ordenação seja definida no 
método ordenar, que deve receber como parâmetro três números e deve retornar um vetor com tais números 
ordenados. Em seguida, crie uma nova classe para prover uma GUI através da qual o usuário deverá informar os 
números a serem ordenados e deve poder visualizar o resultado da ordenação, conforme ilustrado pela figura a 
seguir. Lembre-se que para agrupar componentes deve ser utilizado JPanel. 
Dica: É possível adicionar uma borda com título em um painel de conteúdo chamando o método setBorder() 
de JPanel. Exemplo: 
JPanel painel = new JPanel(); 
painel.setBorder(BorderFactory.createTitledBorder( 
 BorderFactory.createEtchedBorder(), "Título")); 
 
5) Atualize o programa da calculadora simples (lista 2, questão 8) a fim de utilizar GUI. Utilize a figura a seguir 
como modelo. 
 
6) Atualize o programa de números complexos (lista 2, questão 9) a fim de utilizar GUI. Observe que as operações 
suportadas são as mesmas da calculadora simples, mas o formato dos números de entrada é diferente. Dessa 
maneira, seja criativo na utilização dos componentes gráficos para facilitar seu trabalho.

Outros materiais