CONSTRUIR RETA (BRESENHAM, DDA) ATRAVÉS DE DOIS PONTOS  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
siddj
What is classpath?
[Avatar]

Membro desde: 08/09/2006 18:02:17
Mensagens: 5
Offline

Estou necessitando construir um código em que necessito capturar o evento do mouse quando a pessoa clica em 2 pontos qualquer de um frame , através, desses dois pontos, é capturado as coordenadas x e y, de cada ponto ´, e pontanto , constroi-se uma reta.


URGENTE!
URGENTE!


[MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Segue um passo a passo:
1. Crie uma classe filha de JPanel;
2. Crie uma List<Point>;
3. Capture o evento MouseClicked. Gere um novo Point para cada coordenada clicada e adicione na lista, chamando o comando repaint() após isso;

Para capturar o evento, no construtor de seu novo panel faça


4. Sobrescreva o método paintComponent do seu JPanel. Use o objeto graphics que vêm no parâmetro e o método drawLine para desenhar a reta usando os pontos guardados na lista. Você pode achar extensa documentação do Graphics tanto nesse artigo do GUJ, quanto no site da Sun.
[WWW]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Elaborei esse exemplinho.

Vá clicando no form que a partir do segundo click as linhas vão sendo desenhadas.

O código está comentado! Bom proveito!
 Nome do arquivo DrawLines.zip [Disk] Download
 Descrição Mostra um painel que desenha retas de acordo com os cliques dados. As retas começam a ser desenhadas a partir do segundo clique. Basicamente, o painel segue a formula dada no post acima.
 Tamanho 2 Kbytes
 Baixado:  1499 vez(es)

[WWW]
lavh
GUJ Master

Membro desde: 30/07/2006 16:09:55
Mensagens: 1311
Offline

siddj wrote:Estou necessitando construir um código em que necessito capturar o evento do mouse quando a pessoa clica em 2 pontos qualquer de um frame , através, desses dois pontos, é capturado as coordenadas x e y, de cada ponto ´, e pontanto , constroi-se uma reta.


URGENTE!
URGENTE!




Véio, que péssimo começo no GUJ hein! Aqui não é pastelaria não...esse "URGENTE! URGENTE" não comove ninguem aqui não, muito pelo contrário...

O Vini jah falou como capturar os dois pontos, porem ele usou o método drawLine, e como pela cara do seu post isso é um trabalho de "Computação Gráfica" para o curso de "Ciência da Computação", você vai precisar usar o algoritmo de Bresenham e desenhar a reta na raça. Ele tá aqui ó: http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html

Faça bom proveito!
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

lavh wrote:
Véio, que péssimo começo no GUJ hein! Aqui não é pastelaria não...esse "URGENTE! URGENTE" não comove ninguem aqui não, muito pelo contrário...

O Vini jah falou como capturar os dois pontos, porem ele usou o método drawLine, e como pela cara do seu post isso é um trabalho de "Computação Gráfica" para o curso de "Ciência da Computação", você vai precisar usar o algoritmo de Bresenham e desenhar a reta na raça. Ele tá aqui ó: http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html

Faça bom proveito!


Exatamente, a primeira parte eu simplesmente postei uma resposta que dei a ele, nas mensagens pessoais, antes dele criar o tópico. Mas ele não falou que era para desenhar a linha no braço. Depois postei um exemplo que eu já tinha desenvolvido, até pq já vi muito esse tópico por aqui.

Pelo menos, assim ele já vê como capturar os cliques do mouse, já aprende o que é a classe Graphics e já dá uma olhada em como sobrescrever o paintComponent. O algoritmo de bresenham é a parte que ele tem que pensar um pouco!

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
siddj
What is classpath?
[Avatar]

Membro desde: 08/09/2006 18:02:17
Mensagens: 5
Offline

Ae, valeu demais pessoal..

Muito obrigado.....



O Urgente era sim para comover!!!!!!!!!!!



Ateh mais
[MSN]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team