ينفذ المثال الموجود في هذه المقالة بشكل أساسي وظيفة سحب الماوس لرسم الخطوط في Java. من أجل تحقيق وظيفة رسم الخطوط، يتم استخدام MouseListener وMouseMotionListener على التوالي، ويتم الحصول على إحداثيات البداية والنهاية لسحب الماوس بواسطة mousePressed. () و mouseReleased (). يعد هذا مثالًا جيدًا لإتقان أحداث Java mouse.
رمز التنفيذ المحدد هو كما يلي:
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MouseDemo Extends JFrame Implements MouseListener, MouseMotionListener { int flag; //flag=1 يمثل Mouse Moved, flag=2 يمثل Mouse تم سحبه int x = 0; int y = 0; int startx, starty, endx, endy;// إحداثيات البداية وإحداثيات النهاية public MouseDemo() { Container contentPane = getContentPane(); contentPane.addMouseListener(this); { System.exit(0); /*احصل على إحداثيات البداية والنهاية لسحب الماوس من mousePressed(), mouseReleased()*/ public void mousePressed(MouseEvent e) { startx = e.getX(); starty = e.getY() } public void mouseReleased(; MouseEvent e) { endx = e.getX(); endy = e.getY(); } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseClicked(MouseEvent e) { } /*mouseMoved(),mouseDragged() احصل على كل إحداثيات لحركة الماوس واستدعاء طريقة إعادة الطلاء ()*/ public void mouseMoved(MouseEvent e ) { flag = 1 x = e.getX(); y = e.getY(); mouseDragged(MouseEvent e) { flag = 2 x = e.getX(); y = e.getY(); } public void update(Graphics g) { g.setColor(this.getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); // امسح محتوى النافذة الحالية Paint(g); public void Paint(Graphics g) { g.setColor(Color.black); if (flag == 1) { g.drawString("إحداثيات الماوس: (" + x + ""، "+ y + ")"، g.drawLine(startx , starty, endx, endy); } if (flag == 2) { g.drawString("اسحب إحداثيات سعر الماوس: (" + x + ""، "+ y + ")"، 10, 50); g.drawLine(startx, starty, x, y) } public static void main(String[] args) { new MouseDemo() }};
أثناء عملية رسم الخط، سيعرض البرنامج إحداثيات الماوس عند السحب. يمكن للقراء أيضًا تعديل البرنامج وتحسينه وفقًا لاحتياجاتهم الخاصة لجعله أكثر عملية.