No laboratório de hoje vocês irão fazer extensões ao projeto do Editor Gráfico.
O projeto Eclipse irá servir de base. As extensões pedidas
abaixo são cumulativas. Lembro que as classes e interfaces que fazem parte do framework
(Motor
, Cor
, Tela
, Jogo
e App
) não devem ser modificadas.
1. Um componente deveria receber um evento solta
para cada evento aperto
, mas
isso não acontece atualmente, porque o usuário pode arrastar o mouse para fora
do componente. Modifique a implementação do evento solta
em GuiApp
para
consetar isso, e fazer o evento ir para o componente que havia recebido o
evento aperto
, ao invés do componente dado pelas coordenadas atuais. Faça
o mesmo para o evento arrasto
. Dica: use um novo campo em GuiApp
para
guardar o componente que tem o “foco”.
2. Implemente o modo de redimensionamento de figuras, de maneira análoga do modo de movimentação. A maneira de transformar o movimento do mouse em um fator de escala fica a seu critério, seja criativo!
3. Modifique o modo de desenho de novos retângulos para permitir que se arraste o mouse para qualquer ponto, não apenas pontos abaixo e à direita do ponto inicial.
4. Adicione um novo modo de operação ao editor com um novo botão, “Apagar”. Um clique em uma figura nesse modo apaga a figura.
5. O objeto Tela
do framework também permite desenhar triângulos. Implemente
isso no editor através de um novo modo de operação ligado a um novo botão,
“Triângulo”. Um triângulo não é desenhado arrastando e soltando. Um triângulo
é desenhado com três cliques, um para cada ponto do triângulo. O local de cada
um dos dois primeiros cliques é marcado com um ponto na tela.
Para os novos modos, lembre-se de integrá-los à funcionalidade de desfazer e refazer do editor.
A entrega do Laboratório 6 será feita junto com a entrega do Laboratório 7, onde mais extensões ao editor serão pedidas.
Última Atualização: 2016-05-18 10:58