关于java鼠标事件的问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 05:51:46
我编的程序上面是panel,下面是一个文本域,我想让鼠标在panel上移动时,文本域中能显示对应的坐标。以下是我的程序,请大家帮我改改!
package ditu;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

public class shubiao extends JFrame implements ActionListener,MouseMotionListener
{
JTextArea tf=new JTextArea(3,15);
public shubiao(String s)
{
super(s);
JFrame frame=new JFrame();
JPanel panel=new JPanel();

panel.setLayout(new BorderLayout());
panel.addMouseMotionListener(new MouseMotionListener()
{
public void mouseDrag

重新写了个,用adapter就行了。注意在事件里面只能使用final类型的外部属性。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseMove {
public static void main(String[] args)
{
JFrame jf=new JFrame("鼠标移动");
Container ct=null;
JPanel jp=new JPanel();
final JTextField jt=new JTextField();
ct=jf.getContentPane();
ct.add(jp,BorderLayout.CENTER);
ct.add(jt,BorderLayout.NORTH);
jp.addMouseMotionListener(new MouseMotionAdapter()
{
public void mouseMoved(MouseEvent e)
{
int x=e.getX();
int y=e.getY();
String s="当前坐标为:"+x+','+y;
jt.setText(s);
}
});
jt.addMouseMotionListener(new MouseMotionAdapter()
{
public void mouseMoved(MouseEvent e)
{
int x=e.getX();
int y=e.getY();
String s="当前坐标为:"+x+','+y;
jt.setText(s);