Esse exercício envolve o uso do padrão de projeto Observer. Para

Propaganda
Esse exercício envolve o uso do padrão de projeto Observer. Para essa questão, são fornecidos
os códigos fonte de duas classes (ambas subclasses de JFrame): JPerpectivaTextualVotacao e
JPerspectivaGraficaVotacao. Além disso, também é fornecida uma classe (de nome Main) que
exibe objetos das duas primeiras classes. A classe JPerpectivaTextualVotacao permite
visualizar alterar as quantidade de votos atribuídos a candidatos em uma votação. (Por
simplicidade, consideramos uma quantidade constante de candidatos: quatro.) A classe
JPerspectivaGraficaVotacao permite visualizar o resultado da votação através de um gráfico de
pizza. O que você deve fazer é modificar a aplicação fornecida. A modificação deve permitir
que, quando o usuário modificar a quantidade de votos de algum candidato (no formulário
correspondente a um objeto da classe JPerpectivaTextualVotacao), o gráfico de pizza
apresentado deve ser automaticamente atualizado. Para implementar isso, você deve criar uma
classe de nome Votacao. Essa classe deve ser o sujeito (subject) na terminologia do padrão
Observer. Essa classe deve armazenar a quantidades de votos de cada um dos quatro candidatos
e deve prover métodos seletores e modificadores (get/set) adequados para tal. Além disso, as
classes JPerpectivaTextualVotacao e JPerspectivaGraficaVotacao devem ser observadores
(observers). Dica: você pode utilizar a classe Observable e a interface Observer, ambas
disponíveis na API, Java para implementar esse programa. Se você fizer isso, a classe Votacao
deve ser subclasse de Observable, e as classes JPerpectivaTextualVotacao e
JPerspectivaGraficaVotacao devem implementar a interface Observer.
Download