【JAVA语言程序设计基础篇】--事件驱动程序设计--鼠标事件


点击文字 鼠标拖动 文字会随鼠标拖动

package chapter16;

import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

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


@SuppressWarnings("serial")
public class MoveMessageDemo extends JFrame{

	public MoveMessageDemo(){
		MoveableMessagePanel p = new MoveableMessagePanel();
		setLayout(new BorderLayout());
		add(p);
	}
	public static void main(String[] args) {
		MoveMessageDemo frame = new MoveMessageDemo();
	    frame.setLocationRelativeTo(null); // Center the frame
	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    frame.setTitle("AdapterDemo");
	    frame.setSize(220, 200);
	    frame.setVisible(true);

	}
	class MoveableMessagePanel extends JPanel{
		private String message = "this is a test";
		private int x = 20;
		private int y = 20;
		public  MoveableMessagePanel(){
			addMouseMotionListener(new MouseMotionListener() {
				
				@Override
				public void mouseDragged(java.awt.event.MouseEvent e) {
				    x=e.getX();
				    y=e.getY();
					repaint();
				}
				@Override
				public void mouseMoved(MouseEvent e) {
				}
			});
		}

		public MoveableMessagePanel(String string) {
			message = string;
			
			addMouseMotionListener(new MouseMotionListener() {
			
				@Override
				public void mouseDragged(java.awt.event.MouseEvent e) {
				    x=e.getX();
				    y=e.getY();
					repaint();
				}
				@Override
				public void mouseMoved(MouseEvent e) {
				}
			});
		}

		protected void paintComponent(Graphics g) {
			super.paintComponent(g);
			g.drawString(message, x, y);
		}
	}
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值