Saturday, May 31, 2025

[JAVA] CREATE LINE FROM MOUSE

import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.awt.geom.Line2D;import java.util.ArrayList;import java.util.List;public class DrawLineFromMouse extends JPanel { private List<Line2D> lines = new ArrayList<>(); private Point startPoint; public DrawLineFromMouse() { addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { startPoint = e.getPoint(); } @Override public void mouseReleased(MouseEvent e) { if (startPoint != null) { Point endPoint = e.getPoint(); lines.add(new Line2D.Double(startPoint, endPoint)); startPoint = null; // Reset startPoint repaint(); } } }); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; g2d.setColor(Color.BLACK); // Set line color for (Line2D line : lines) { g2d.draw(line); } } public static void main(String[] args) { JFrame frame = new JFrame("Draw Lines"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(new DrawLineFromMouse()); frame.setSize(400, 300); frame.setVisible(true); }}

No comments: