00:00 / 00:25
连播
清屏
智能
倍速
点赞2
编程时光10月前
编程时光_Java程序设计_049_鼠标事件 编程时光 手打代码, 一起学习吧! 以下是对这段代码的详细分析: 代码功能 这段 Java 代码创建了一个简单的图形用户界面,用于演示鼠标事件的处理。当用户在窗口中按下鼠标并拖动时,程序会在窗口上绘制线条,实现简单的绘图功能。 代码结构 主类 J049_Draw 成员变量: lastX 和 lastY 用于记录上一次鼠标的坐标。 x 和 y 用于记录当前鼠标的坐标。 构造方法: 调用父类构造方法设置窗口标题为 “鼠标事件的例子”。 设置窗口关闭操作和大小,并将窗口设置为可见。 添加鼠标监听器 MouseAdapter,重写 mousePressed 方法,当鼠标按下时,记录当前鼠标的坐标,并将其作为上一次的坐标。 添加鼠标移动监听器 MouseMotionAdapter,重写 mouseDragged 方法,当鼠标拖动时,更新上一次和当前的鼠标坐标,并调用 repaint 方法重绘窗口。 paint 方法: 重写 paint 方法,当 lastX 不等于 x 或者 lastY 不等于 y 时,使用 Graphics 对象的 drawLine 方法绘制从上一次鼠标位置到当前鼠标位置的线段。 事件处理机制 鼠标按下事件:当鼠标在窗口中按下时,mousePressed 方法被调用,记录当前鼠标的坐标,作为绘制线条的起始点。 鼠标拖动事件:当鼠标在窗口中拖动时,mouseDragged 方法被调用,更新鼠标坐标,并调用 repaint 方法触发窗口的重绘。 绘图实现 每次调用 repaint 方法时,会自动调用 paint 方法。在 paint 方法中,判断鼠标坐标是否发生变化,如果发生变化,则绘制一条从上次鼠标位置到当前鼠标位置的线段。 总结 这段代码通过处理鼠标事件,实现了简单的绘图功能。利用 MouseAdapter 和 MouseMotionAdapter 类简化了鼠标事件的处理,同时通过重写 paint 方法实现了图形的绘制。整体代码结构清晰,展示了 Java 中鼠标事件处理和绘图的基本方法。
00:00 / 03:34
连播
清屏
智能
倍速
点赞9
00:00 / 01:08
连播
清屏
智能
倍速
点赞24