zoukankan      html  css  js  c++  java
  • 创建画笔工具

    package com.mr.draw;
    
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionAdapter;
    import java.awt.image.BufferedImage;
    
    import javax.swing.JFrame;
    
    public class DrawPictureFrame extends JFrame {
        BufferedImage image = new BufferedImage(570, 390,
                BufferedImage.TYPE_INT_BGR);
        Graphics gs = image.getGraphics();
        Graphics2D g = (Graphics2D) gs;
        DrawPictureCanvas canvas = new DrawPictureCanvas();
        Color foreColor = Color.BLACK;
        Color backgroungColor = Color.WHITE;
        int x = -1;
        int y = -1;
        boolean rubber = false;
    
        public DrawPictureFrame() {
            setResizable(false);
            setTitle("画图程序");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(500, 100, 574, 460);
            init();
            addListener();
        }
    
        private void addListener() {
            // TODO Auto-generated method stub
            canvas.addMouseMotionListener(new MouseMotionAdapter() {
            public void mouseDragged(final MouseEvent e) {
                if (x>0&&y>0) {
                    if (rubber) {
                        g.setColor(backgroungColor);
                        g.fillRect(x,y,10,10);
                    }else{
                        g.drawLine(x,y,e.getX(),e.getY());
                    }
                }
                x=e.getX();
                y=e.getY();
                canvas.repaint();
            }     
            });
            canvas.addMouseListener(new MouseAdapter() {
                public void mouseReleased(final MouseEvent arg0){
           x=-1;
           y=-1;
                }
            });
        }
    
        private void init() {
            // TODO Auto-generated method stub
            g.setColor(backgroungColor);
            g.fillRect(0, 0, 570, 390);
            g.setColor(foreColor);
            canvas.setImage(image);
            getContentPane().add(canvas);
        }
    
        public static void main(String[] args) {
            DrawPictureFrame frame = new DrawPictureFrame();
            frame.setVisible(true);
        }
    }
  • 相关阅读:
    徐丽君 20191017-1 每周例行报告
    徐丽君 20191010-2 每周例行报告
    徐丽君 20190919-1 每周例行报告
    徐丽君 20190919-4 单元测试结对
    20191128-1 总结
    20191121-1 每周例行报告
    20191114-1 每周例行报告
    20191107-1 每周例行报告
    20191031-1 每周例行报告
    20191024-1 每周例行报告
  • 原文地址:https://www.cnblogs.com/lijun199309/p/9285766.html
Copyright © 2011-2022 走看看