Advertisement
Guest User

draw line

a guest
Apr 19th, 2013
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.33 KB | None | 0 0
  1. package drawingProgram;
  2.  
  3. import java.awt.BasicStroke;
  4. import java.awt.BorderLayout;
  5. import java.awt.Color;
  6. import java.awt.EventQueue;
  7. import java.awt.Font;
  8. import java.awt.FontMetrics;
  9. import java.awt.Graphics;
  10. import java.awt.Graphics2D;
  11. import java.awt.Image;
  12. import java.awt.Rectangle;
  13. import java.awt.Shape;
  14.  
  15. import javax.swing.JComponent;
  16. import javax.swing.JFrame;
  17. import javax.swing.JLabel;
  18. import javax.swing.JPanel;
  19. import javax.swing.border.EmptyBorder;
  20.  
  21. import java.awt.event.MouseMotionAdapter;
  22. import java.awt.event.MouseEvent;
  23. import java.awt.event.MouseAdapter;
  24. import java.awt.geom.Line2D;
  25. import java.awt.image.ImageObserver;
  26. import java.text.AttributedCharacterIterator;
  27.  
  28. public class MainDrawingFrame extends JFrame {
  29.  
  30.     private JPanel contentPane;
  31.     private int xLoc = 0;
  32.     private int yLoc = 0;
  33.     private JLabel blackSpot;
  34.     private int lastX = 0;
  35.     private int lastY = 0;
  36.    
  37.     /**
  38.      * Launch the application.
  39.      */
  40.     public static void main(String[] args) {
  41.         EventQueue.invokeLater(new Runnable() {
  42.             public void run() {
  43.                 try {
  44.                     MainDrawingFrame frame = new MainDrawingFrame();
  45.                     frame.setVisible(true);
  46.                 } catch (Exception e) {
  47.                     e.printStackTrace();
  48.                 }
  49.             }
  50.         });
  51.     }
  52.  
  53.     /**
  54.      * Create the frame.
  55.      */
  56.     public MainDrawingFrame() {
  57.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  58.         setBounds(100, 100, 450, 300);
  59.         contentPane = new JPanel();
  60.         contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  61.         setContentPane(contentPane);
  62.         contentPane.setLayout(null);
  63.        
  64.        
  65.         final DrawingPanel drawingPanel = new DrawingPanel();
  66.         drawingPanel.addMouseMotionListener(new MouseMotionAdapter() {
  67.             public void mouseDragged(MouseEvent e) {
  68.                                
  69.                 xLoc = e.getX();
  70.                 yLoc = e.getY();
  71.                
  72.                 blackSpot = new JLabel("");
  73.                 blackSpot.setOpaque(true);
  74.                 blackSpot.setBounds(xLoc, yLoc, 1, 1);
  75.                 blackSpot.setBackground(Color.black);
  76.                 drawingPanel.add(blackSpot);                   
  77.                 drawingPanel.repaint();
  78.                
  79.  
  80.                 lastX = xLoc;
  81.                 lastY = yLoc;
  82.  
  83.  
  84.             }
  85.  
  86.         });
  87.  
  88.         drawingPanel.setBounds(10, 11, 414, 240);
  89.         contentPane.add(drawingPanel);
  90.         drawingPanel.setLayout(null);
  91.        
  92.        
  93.     }
  94.  
  95.    
  96.    
  97.     class DrawingPanel extends JPanel {
  98.                
  99.         protected void paintComponent(Graphics g) {
  100.            
  101.             g.drawLine(lastX,lastY,xLoc,yLoc); // draw a line
  102.            
  103.         }  
  104.     }
  105.    
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement