Trabalho 2 – Interface Gráfica

Propaganda
Departamento de Ciência da Computação
Disciplina: Tópicos Especiais 01 – Java Avançado I
Exame – 04/07/2006
Instruções:

O exercício deve ser feito em dupla;

Documente o código e também utilize o Javadoc;

As duplas devem entregar e apresentar a aplicação às 19h do dia 13 de julho de 2006 na sala F 211.
Exercício:
Desenvolva uma aplicação gráfica Java, usando obrigatoriamente JFC/Swing, Coleções e JDBC (com MySQL), para
movimentar contas bancárias que implemente a hierarquia de classes que segue:
ContaCorrente
- numero
- nome
- saldo
+ credita(double)
+ debita(double)
+ consultaSaldo() ...
ContaEspecial
- limite
+ debita(double)
+ consultaLimite() ...
ContaInvestimento
Poupanca
- dataAplicacao
- periodo
- taxaRendimento
- dataAniversario
- saldoMinimo
- taxaRendimento
+ debita(double)
+ creditaRendimento() ...
...
+ debita(double)
+ creditaRendimento() ...

Observe que as classes ContaEspecial, Poupança e ContaAplicação herdarão atributos e métodos da classe
ContaCorrente mas, também, definirão métodos próprios e redefinirão métodos herdados, se for o caso.

Todos os atributos estão definidos no diagrama, enquanto métodos devem ser adicionados.

As classes garantem, obrigatoriamente, o encapsulamento. Os atributos das classes só poderão ser acessados
através de métodos set e get.

As contas são objetos que devem ser criados a partir de suas respectivas classes.

Os construtores das classes podem ser algo como:
public ContaCorrente (int num, String nom, double sald ) {…}
public ContaEspecial (int num, String nom, double sald, double lim ) {
super (num, nom, sald);
limite = lim;
}

O número das contas é seqüencial e gerado automaticamente.

Para manipular o conjunto de contas implemente uma classe ColecaoContas que faça uso de alguma classe
pertencente as classes de coleções Java, por exemplo: classe Vector (java.util.Vector).

A criação de uma Conta Especial, por exemplo, dar-se-á após a entrada dos dados do cliente na janela de cadastro.
Ao confirmar o cadastro o novo objeto poupança deve ser incluído na coleção de contas.

A aplicação deve seguir o padrão brasileiro de duas casas decimais para valores monetários. Uma das maneiras de
se obter este resultado é utilizar a classe DecimalFormat.

Implemente o tratamento de exceções necessário para o correto funcionamento da aplicação desenvolvida. Dica: a
aplicação necessita tratar entre outros, problemas de conversão de valores de String para int e double.

Lembre-se também de separar a interface da lógica da aplicação. Ou seja, existirão classes especializadas na
interação (derivadas de JFrame) as quais farão uso das classes da aplicação (ContaCorrente, ContaEspecial, etc.).

As funcionalidades do sistema são:
1.
Cadastrado de uma nova conta;
2.
Exclusão de uma conta existente;
3.
Consulta de saldo de uma conta;
4.
Relação de contas, geral e por tipo de conta, em ordem crescente e decrescente, por nome e por saldo;
5.
Movimentação de conta, onde pode ser realizado o crédito ou débito de uma determinada quantia.
Lembre-se que a operação de débito é diferente para cada um dos tipos de conta:
6.

•
Conta Corrente: a quantia sacada não pode ser maior que o saldo.
•
Conta Especial: a quantia sacada não pode ser maior que o saldo mais o limite.
•
Conta Investimento: só pode efetuar o débito se já venceu o período da aplicação.
•
Conta Poupança: a quantia sacada não pode ser maior que o saldo e caso o saldo restante seja
inferior ao saldo mínimo o saldo mínimo é atualizado para o novo valor.
Crédito de rendimentos, onde:
•
Conta Poupança: caso a data atual seja igual a data de aniversário, é aplicada a taxa de rendimento
sobre o saldo mínimo e acrescido ao saldo, atualizada o saldo mínimo para o novo saldo e a data de
aniversário para o próximo mês. Considere que cada poupança tem apenas uma data de aniversário.
•
Conta Investimento: caso a data atual seja igual a data da aplicação mais o perírodo, é aplicada a
taxa de rendimento sobre o saldo e a nova quantia é reaplicada, atualizando a data de aplicação.
Haverá apenas uma janela para cada operação. Por exemplo, na mesma janela de cadastro deve ser possível
cadastrar contas de qualquer um dos tipos da hierarquia. Sugestões de telas para a interface com o usuário são
apresentadas a seguir. De preferência, utilize os gerenciadores de layout nas janelas.
Janela de Abertura
Janela de Movimentação
Janela de Cadastro
Download