| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2010 19:35:19
|
kirill
Thread.start()
![[Avatar]](/images/avatar/59aff3a8835bab1c3c1725498ef4631a.png)
Membro desde: 27/06/2008 08:56:17
Mensagens: 43
Offline
|
Eai galera mais uma vez estou com uma duvida,
desta vez não sei se ela é tão trivial e nem sei se existe solucão.
Não sei se vocês já perceberam isto mas eu percebi isto fazendo um trabalho de
computacão gráfica onde o professor pediu para que eu implementasse
um aplicativo do tipo paint mas bem simplificado.
Então, o problema é o seguinte, eu tenho um JFrame,
dentro dele tenho um JPanel, neste JPanel eu devo desenhar um poligono com um
numero de pontos definido pelo usuario, eu usei a classe GeneralPath.
E funcionou tudo certo e tal. Só que eu percebi que se o mouse estiver em movimento e voce clicar
no JPanel com o BUTTON1 para que seja selecionado um ponto do polígono, este ponto não é detectado.
Ou seja, o que eu quero dizer é será que a linguagem possui esta limitação ?!
A unica maneira que eu consigo detectar o click do mouse, é com ele parado.
Vou passar um exemplo simples para que voces vejam.
Eh bem simples, quando vc clica no JPanel, deve aparecer a coordenada do clique atraves do System.out.
Aí está a classe.
Valeeeeu galera, pela atenção, se alguem tiver uma ideia de como resolver este problema estarei muito grato.
P.S. usando c++ com openGL e FLTK, este problema não acontece. E como todos sabem se por ex. usando Windows ou Linux
voce fizer isso na area de trabalho, vc consegue detectar este clicks com o mouse em movimento. Ambos sistemas escritos em C++.
|
Sempre há uma maneira inteligente e eficaz de se resolver um problema. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2010 19:58:41
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20587
Localização: Curitiba/PR
Offline
|
Use o método mouseDown e não o mouseClick.
Só é considerado click se o usuário pressionar e soltar o mouse praticamente no mesmo lugar. Com o mouse up, ele usará como click o lugar onde o mouse parou. Com o mouseDown, onde o mouse desceu.
|
@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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2010 20:21:33
|
viniciusfaleiro
Virtual Machine Man
![[Avatar]](/images/avatar/839185ccf72cdda4fca46bfcc95208f0.jpg)
Membro desde: 22/03/2008 20:07:50
Mensagens: 524
Offline
|
ViniGodoy wrote:Use o método mouseDown e não o mouseClick.
Só é considerado click se o usuário pressionar e soltar o mouse praticamente no mesmo lugar. Com o mouse up, ele usará como click o lugar onde o mouse parou. Com o mouseDown, onde o mouse desceu.
Ja tive esse problema.. resolvi com mouseReleased
|
Linkedin: http://www.linkedin.com/pub/vinicius-faleiro/32/697/624 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2010 22:33:24
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20587
Localização: Curitiba/PR
Offline
|
Ops, é mousePressed e released mesmo. heehehhehe
|
@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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2010 15:41:14
|
kirill
Thread.start()
![[Avatar]](/images/avatar/59aff3a8835bab1c3c1725498ef4631a.png)
Membro desde: 27/06/2008 08:56:17
Mensagens: 43
Offline
|
Vaaaleu irmaos,
funcionou perfeitamente como eu queria.
Eh so capturar os pontos usando mousePressed mesmo.
Gracias.
|
Sempre há uma maneira inteligente e eficaz de se resolver um problema. |
|
|
 |
|
|