Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package drawingProgram;
- import java.awt.BasicStroke;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.EventQueue;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Image;
- import java.awt.Rectangle;
- import java.awt.Shape;
- import javax.swing.JComponent;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import java.awt.event.MouseMotionAdapter;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseAdapter;
- import java.awt.geom.Line2D;
- import java.awt.image.ImageObserver;
- import java.text.AttributedCharacterIterator;
- public class MainDrawingFrame extends JFrame {
- private JPanel contentPane;
- private int xLoc = 0;
- private int yLoc = 0;
- private JLabel blackSpot;
- private int lastX = 0;
- private int lastY = 0;
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- MainDrawingFrame frame = new MainDrawingFrame();
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public MainDrawingFrame() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 450, 300);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);
- final DrawingPanel drawingPanel = new DrawingPanel();
- drawingPanel.addMouseMotionListener(new MouseMotionAdapter() {
- public void mouseDragged(MouseEvent e) {
- xLoc = e.getX();
- yLoc = e.getY();
- blackSpot = new JLabel("");
- blackSpot.setOpaque(true);
- blackSpot.setBounds(xLoc, yLoc, 1, 1);
- blackSpot.setBackground(Color.black);
- drawingPanel.add(blackSpot);
- drawingPanel.repaint();
- lastX = xLoc;
- lastY = yLoc;
- }
- });
- drawingPanel.setBounds(10, 11, 414, 240);
- contentPane.add(drawingPanel);
- drawingPanel.setLayout(null);
- }
- class DrawingPanel extends JPanel {
- protected void paintComponent(Graphics g) {
- g.drawLine(lastX,lastY,xLoc,yLoc); // draw a line
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement