java入门第六天之跟屁虫小球

通过鼠标监听

MouseMotionListener

中的


public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
x = e.getX();
y = e.getY();

}

方法

来获取鼠标坐标并赋给小球坐标实现小球跟随移动

package day06;

import java.awt.Color;
import java.awt.Event;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class MyMouseBall {
	public static void main(String[] args) {
		JFrame frame = new JFrame("MyMouseBall");
		frame.setSize(400, 500);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLocationRelativeTo(null);
		//
		MyMouseBallPanel mmbp = new MyMouseBallPanel();
		frame.add(mmbp);
		// 给面板对象添加监听
		mmbp.addMouseListener(mmbp);
		mmbp.addMouseMotionListener(mmbp);
		frame.setVisible(true);
	}
}

class MyMouseBallPanel extends JPanel implements MouseListener , MouseMotionListener{
	int x ;
	int y ;
	public void paint(Graphics g) {
		super.paint(g);
		g.setColor(Color.BLACK);
		g.fillOval(x-15, y-15, 30, 30);
		repaint();

	}

	// 鼠标点击
	// MouseEvent 事件对象
	public void mouseClicked(MouseEvent e) {
		// 获取鼠标点击的位置
		int x = e.getX();
		int y = e.getY();
		System.out.println("x:" + x + ",y:" + y);
		

	}
		//获取鼠标移动位置赋给小球坐标
	public void mouseMoved(MouseEvent e) {
		// TODO Auto-generated method stub
		x = e.getX();
		y = e.getY();
		
	}
	// 鼠标进入
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	// 鼠标退出
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	// 鼠标按下
	public void mousePressed(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	// 鼠标释放
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub

	}
//	public boolean mouseMove(Event evt, int i, int j) {
//		// TODO Auto-generated method stub
//		return super.mouseMove(evt, i, j);
//	}

	public void mouseDragged(MouseEvent e) {
		// TODO Auto-generated method stub
		
		
	}

	

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值