>Ol� a todos, eu estou fazendo uns testes simples em Java e me deparei com
>uma
>coisa que n�o sei o porque n�o est� funcionando e gostaria de uma ajuda do
>grupo.
>� o seguinte: Crei um layout tipo Border e pus bot�es ao redor do panel.
>No
>centro eu coloquei um Canvas (para poder desenhar nessa �rea). Contudo eu
>gostaria de "escutar" os eventos do mouse nessa area Canvas. Olhem o
>programa que listo abaixo, tentem rodar e modificar para que este imprima
>posicao do mouse quando clicado, ou mesmo somente um aviso, como est� no
>c�digo atualmente (que nao funciona, diga-se de passagem).
>
>Qualquer ajuda � bem vinda.
>Agrade�o desde j� a aten��o dada.
>Paulo
Oi Brasko,
Na verdade, os statements System.out.println sao usados em applications onde
o resultado eh impresso no DOS console.
Para applets pode se usar o metodo paint para display dos resultados.
Copie o codigo abaixo para o seu editor e execute. Jah testei e funciona
bem. Adicionei tambem a interface MouseMotionListener.
A partir desse exemplo voce pode implementar os metodos como quiser.
Abraco, Luis Fernando.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Teste extends Applet implements MouseListener,
MouseMotionListener
{
private int xpos, ypos;
private String s;
public void init()
{
setLayout(new BorderLayout());
add("North", new Button("North Button"));
add("South", new Button("South Button"));
add("West", new Button("West Button"));
add("East", new Button("East Button"));
//precisa adicionar os listeners a applet
addMouseListener(this);
addMouseMotionListener(this);
}
//metodo para acompanhar o cursor
public void setValues(String event, int x ,int y)
{
s = event;
xpos =x;
ypos = y;
repaint();
}
public void paint( Graphics g)
{
g.drawString( s + "@ "+ xpos + " , "+ ypos+"" ,xpos,ypos );
}
public void mouseClicked(MouseEvent e)
{
setValues("Clicked on:" ,e.getX(), e.getY());
}
public void mousePressed(MouseEvent e)
{
setValues("Pressed on:" ,e.getX(), e.getY());
}
public void mouseReleased(MouseEvent e)
{
setValues("Released on:" ,e.getX(), e.getY());
}
public void mouseEntered(MouseEvent e)
{
setValues("Entered on:" ,e.getX(), e.getY());
}
public void mouseExited(MouseEvent e)
{
setValues("Exited on:" ,e.getX(), e.getY());
}
public void mouseMoved( MouseEvent e)
{
setValues("Moving", e.getX() , e.getY() );
}
public void mouseDragged( MouseEvent e)
{
setValues("Dragging", e.getX() , e.getY() );
}
}
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
[d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
[regras da lista: http://www.soujava.org.br/regras.htm]
---------------------------------------------------------------------