import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JPanel;
public class JCanvas extends JPanel implements MouseListener, MouseMotionListener {
private int x1 = -1, y1 = -1, x2 = -1, y2 = -1;
public JCanvas() {
this.setPreferredSize(new Dimension(100, 100));
this.addMouseListener(this);
this.addMouseMotionListener(this);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(x1, y1, x2, y2);
}
@Override
public void mousePressed(MouseEvent e) {
x1 = e.getX(); x2 = x1;
y1 = e.getY(); y2 = y1;
repaint();
}
@Override
public void mouseDragged(MouseEvent e) {
x2 = e.getX();
y2 = e.getY();
repaint();
}
@Override
public void mouseReleased(MouseEvent e) {
x2 = e.getX();
y2 = e.getY();
repaint();
}
@Override
public void mouseClicked(MouseEvent e) { }
@Override
public void mouseEntered(MouseEvent e) { }
@Override
public void mouseExited(MouseEvent e) { }
@Override
public void mouseMoved(MouseEvent e) { }
}