⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dauber.java

📁 这是一个关于JAVA小程序的画图的程序,有画线,画柱体,直线,正方体等
💻 JAVA
字号:

        import java.awt.Graphics;
        import java.awt.*;
        import java.awt.event.*;
        import java.lang.Math;
        import java.applet.Applet;

    public class dauber extends Applet implements ActionListener, MouseListener, MouseMotionListener {

        Button buttonDraw, buttonLine, buttonOval, buttonRect, button3DRect; 
        Button buttonRounded; 
        
        Point pts[] = new Point[1000]; 
        Point ptAnchor, ptDrawTo;
        int ptindex = 0;

        boolean bMouseDownFlag = false;
        boolean bMouseUpFlag = false;
        boolean bDrawFlag = false;
        boolean bLineFlag = false;
        boolean bOvalFlag = false;
        boolean bRectFlag = false;
        boolean b3DRectFlag = false;
        boolean bRoundedFlag = false;

        public void init() {

                buttonDraw = new Button("Draw Freehand"); 
                buttonLine = new Button("Line"); 
                buttonOval = new Button("Oval"); 
                buttonRect = new Button("Rect"); 
                button3DRect = new Button("3D Rect"); 
                buttonRounded = new Button("Round");

                add(buttonDraw); 
                buttonDraw.addActionListener(this);
                add(buttonLine); 
                buttonLine.addActionListener(this);
                add(buttonOval); 
                buttonOval.addActionListener(this);
                add(buttonRect); 
                buttonRect.addActionListener(this);
                add(button3DRect); 
                button3DRect.addActionListener(this);
                add(buttonRounded); 
                buttonRounded.addActionListener(this);
                addMouseListener(this);
                addMouseMotionListener(this);
        }
        
        public void mousePressed(MouseEvent e){
                bMouseDownFlag = true;
                bMouseUpFlag = false;
                ptAnchor = new Point(e.getX(), e.getY());
        }

        public void mouseReleased(MouseEvent e){
                bMouseDownFlag = false;
                bMouseUpFlag = true;
                ptDrawTo = new Point(e.getX(), e.getY()); 
                if(!bLineFlag){
                    ptDrawTo = new Point(Math.max(e.getX(), ptAnchor.x), Math.max(e.getY(), ptAnchor.y)); 
                    ptAnchor = new Point(Math.min(e.getX(), ptAnchor.x), Math.min(e.getY(), ptAnchor.y)); 
                }
                repaint(); 
        }

        public void mouseDragged(MouseEvent e){
                if(bDrawFlag){
                        pts[ptindex] = new Point(e.getX(), e.getY());
                        ptindex++;
                        repaint();
                }
        }

        public void mouseClicked(MouseEvent e){
        }

        public void mouseEntered(MouseEvent e){
        }

        public void mouseExited(MouseEvent e){
        }

        public void mouseMoved(MouseEvent e){
        }

        public void paint (Graphics g) {
                int loop_index;
                int drawWidth, drawHeight;

                if(bLineFlag && bMouseUpFlag){
                        g.drawLine(ptAnchor.x, ptAnchor.y, ptDrawTo.x, 
                            ptDrawTo.y);
                }
                if(bOvalFlag && bMouseUpFlag){
                        drawWidth = ptDrawTo.x - ptAnchor.x;
                        drawHeight = ptDrawTo.y - ptAnchor.y; 
                        g.drawOval(ptAnchor.x, ptAnchor.y, drawWidth, 
                            drawHeight);
                }
                if(bRectFlag && bMouseUpFlag){
                        drawWidth = ptDrawTo.x - ptAnchor.x;
                        drawHeight = ptDrawTo.y - ptAnchor.y; 
                        g.drawRect(ptAnchor.x, ptAnchor.y, drawWidth, 
                            drawHeight);
                }
                if(b3DRectFlag && bMouseUpFlag){
                        drawWidth = ptDrawTo.x - ptAnchor.x;
                        drawHeight = ptDrawTo.y - ptAnchor.y; 
                        g.draw3DRect(ptAnchor.x, ptAnchor.y, drawWidth, 
                            drawHeight, true);
                }
                if(bRoundedFlag && bMouseUpFlag){
                        drawWidth = ptDrawTo.x - ptAnchor.x;
                        drawHeight = ptDrawTo.y - ptAnchor.y; 
                        g.drawRoundRect(ptAnchor.x, ptAnchor.y, drawWidth, 
                            drawHeight, 10, 10);
                }
                if(bDrawFlag){
                    for(loop_index = 0; loop_index < ptindex - 1; loop_index++){
                        g.drawLine(pts[loop_index].x, pts[loop_index].y, 
                            pts[loop_index + 1].x, pts[loop_index + 1].y); 
                    }
                }
        }

        public void actionPerformed(ActionEvent e){
                if(e.getSource() == buttonDraw){
                        bDrawFlag = !bDrawFlag;
                        bLineFlag = false;
                        bOvalFlag = false;
                        bRectFlag = false;
                        b3DRectFlag = false;
                        bRoundedFlag = false;
                }
                if(e.getSource() == buttonLine){
                        bLineFlag = !bLineFlag;
                        bDrawFlag = false;
                        bOvalFlag = false;
                        bRectFlag = false;
                        b3DRectFlag = false;
                        bRoundedFlag = false;
                }
                if(e.getSource() == buttonOval){
                        bOvalFlag = !bOvalFlag;
                        bLineFlag = false;
                        bDrawFlag = false;
                        bRectFlag = false;
                        b3DRectFlag = false;
                        bRoundedFlag = false;
                }
                if(e.getSource() == buttonRect){
                        bRectFlag = !bRectFlag;
                        bLineFlag = false;
                        bOvalFlag = false;
                        bDrawFlag = false;
                        b3DRectFlag = false;
                        bRoundedFlag = false;
                }
                if(e.getSource() == button3DRect){
                        b3DRectFlag = !b3DRectFlag;
                        bLineFlag = false;
                        bOvalFlag = false;
                        bRectFlag = false;
                        bDrawFlag = false;
                        bRoundedFlag = false;
                }
                if(e.getSource() == buttonRounded){
                        bRoundedFlag = !bRoundedFlag;
                        bLineFlag = false;
                        bOvalFlag = false;
                        bRectFlag = false;
                        b3DRectFlag = false;
                        bDrawFlag = false;
                }
        }
   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -