Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.27 KB | None | 0 0
  1.  JFrame frame = new JFrame("Lines");
  2.  
  3.     frame.add(new JComponent() {
  4.         private Shape line = null;
  5.         {
  6.             line = new Line2D.Double(100, 100, 200, 200);
  7.             prevPoint = new Point();
  8.             newPoint = new Point();
  9.  
  10.             MouseAdapter mouseAdapter = new MouseAdapter() {
  11.                 @Override
  12.                 public void mousePressed(MouseEvent e) {
  13.                     prevPoint = e.getPoint();
  14.                     System.out.println("Prev Point=" + prevPoint.toString());
  15.                     repaint();
  16.                 }
  17.  
  18.                 @Override
  19.                 public void mouseDragged(MouseEvent e) {
  20.                     int dx = 0;
  21.                     int dy = 0;
  22.  
  23.                     dx = (int) (prevPoint.x - e.getPoint().getX());
  24.                     dy = (int) (prevPoint.y - e.getPoint().getY());
  25.  
  26.                     Line2D shape = (Line2D) line;
  27.  
  28.                     int x1 = (int) (shape.getX1() - dx);
  29.                     int y1 = (int) (shape.getY1() - dy);
  30.  
  31.                     int x2 = (int) (shape.getX2() - dx);
  32.                     int y2 = (int) (shape.getY2() - dy);
  33.  
  34.                     Point startPoint = new Point(x1, y1);
  35.                     Point endPoint = new Point(x2, y2);
  36.  
  37.                     if (shape != null) {
  38.                         shape.setLine(startPoint, endPoint);
  39.                         prevPoint = e.getPoint();
  40.                         repaint();
  41.                     }
  42.                 }
  43.  
  44.                 @Override
  45.                 public void mouseReleased(MouseEvent e) {
  46.                     repaint();
  47.                 }
  48.  
  49.             };
  50.             addMouseListener(mouseAdapter);
  51.             addMouseMotionListener(mouseAdapter);
  52.         }
  53.  
  54.         @Override
  55.         protected void paintComponent(Graphics g) {
  56.             Graphics2D g2d = (Graphics2D) g;
  57.             g2d.setPaint(Color.BLUE);
  58.             g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
  59.                     RenderingHints.VALUE_ANTIALIAS_ON);
  60.             if (line != null) {
  61.                 g2d.draw(line);
  62.             }
  63.         }
  64.     });
  65.     frame.setSize(650, 400);
  66.     frame.setLocationRelativeTo(null);
  67.     frame.setVisible(true);
  68.     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement