首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

[JAVA100例] 第74例:Applet 滑鼠事件檢測與座標繪製

     編輯:Java 相關知識

本例演示在 Applet 中添加滑鼠監聽器,捕獲滑鼠點擊位置並在畫布上繪製十字準星標記該座標。

核心代碼

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class MouseAd extends Applet {
  int x=0, y=0;
  int width, height;

  public void init() {
    addMouseListener(new Mouse());
  }

  class Mouse extends MouseAdapter {
    public void mousePressed(MouseEvent e) {
      x = e.getX();
      y = e.getY();
      width = size().width;
      height = size().height;
      repaint();
    }
  }

  public void paint(Graphics g) {
    g.drawString("x=" + x + " y=" + y, 10, 20);
    g.drawLine(x, 0, x, height);   // 垂直線
    g.drawLine(0, y, width, y);    // 水平線
  }
}

關鍵技術點

  • 滑鼠監聽:繼承 MouseAdapter 只需覆寫關心的方法(此處 mousePressed)
  • 座標獲取:e.getX()、e.getY() 返回相對組件左上角的像素座標
  • 圖形繪製:drawLine() 繪製十字線,drawString() 顯示座標文本
  • 重繪機制:狀態改變後調用 repaint() 觸發 paint()

擴展建議

  • 實現 MouseMotionListener 可追蹤滑鼠移動軌跡(mouseDragged、mouseMoved)
  • 結合 MouseWheelListener 處理滾輪縮放
  • 使用 Graphics2D 實現抗鋸齒、線條樣式等高級繪圖

現代 Web 替代方案

  • Canvas + 滑鼠事件:mousedown、mousemove、mouseup 繪製交互圖形
  • SVG:聲明式矢量圖形,天然支援事件綁定
  • CSS pointer-events:控制元素是否接收滑鼠事件
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved