Técnicas para desenho em panel

3 respostas
N

Boa tarde povo do GUJ,
Eu to querendo fazer um programa de desenho estilo CorelDraw e queria saber de vocês experts qual a melhor abordagem. Eu to fazendo da seguinte maneira:

  • Criei uma classe abstrata Ferramentas, para abstrair todas as minhas ferramentas(lápis, polígono, etc.) e o modo que elas “se desenham”.
  • Estou desenhando diretamente no panel e não em um ImageBuffer.

Na minha classe Lápis por exemplo eu recebo o Graphics do panel para poder desenhar nele. E também tenho 2 métodos:

public abstract void mouseDragged(MouseEvent evt);
    
    public abstract void mouseClicked(MouseEvent evt);

Dentro desses métodos eu especifico como pegar os pontos para o desenho, já que cada ferramenta usa formas de desenhar diferentes, por exemplo, no Lápis ao arrastar o mouse você desenha uma linha exatamente no caminho do mouse, mas no Polígono, você só desenha a linha quando o usuário clica em dois pontos.

Queria a opinião de vocês para saber qual a melhor abordagem, por exemplo desenhar em panel ou desenhar em um buffer? Quero colocar funcionalidades no programa ainda mas não sei exatamente qual padrão aplicar nesse caso para que o sistema não acabe virando uma bola de neve.
Obrigado.

3 Respostas

ViniGodoy

Leia esses artigos:
http://pontov.com.br/site/java/48-java2d

E estude esse programa:
http://www.guj.com.br/java/269272-programa-de-desenho-vetorial-feito-em-java2d

ViniGodoy

Tópico movido para o fórum de interface gráfica.

N

Show de bola Vini, era isso mesmo que eu estava procurando.
brigadão mesmo!

Criado 14 de junho de 2012
Ultima resposta 14 de jun. de 2012
Respostas 3
Participantes 2