当前位置:  技术问答>java相关

向各位仁兄贤弟请教:下面这段代码怎么运行结果不对?

    来源: 互联网  发布时间:2015-10-27

    本文导语:  import java.awt.*; import java.applet.Applet; import java.awt.event.*; import java.lang.Math; import java.awt.Graphics; /*  * draw.java  *  * Created on 2002年11月8日, 下午1:20  */ /**  *  * @author  root  */ public class draw extends java.applet.Applet...

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

/*
 * draw.java
 *
 * Created on 2002年11月8日, 下午1:20
 */

/**
 *
 * @author  root
 */
public class draw extends java.applet.Applet implements ActionListener, MouseListener,MouseMotionListener {
    
    /** Initialization method that will be called after the applet is loaded
     *  into the browser.
     */
    Button bDraw,bLine,bOval,bRect,bRounded;
    Point dot[]=new Point[1000];
    Point start,end;
    int dots=0;
    boolean mouseUp=false;
    boolean draw=false;
    boolean line=true;
    boolean oval=false;
    boolean rounded=false;
    boolean rectangle=false;
    
    
    public void init() {
        bLine=new Button("Draw Lines");
        bOval=new Button("Draw ovals");
        bRect=new Button("Draw Rectangles");
        bRounded=new Button("Draw rounded rects");
        bDraw=new Button("Draw freehanded");
        
        add(bLine);
        add(bOval);
        add(bRect);
        add(bRounded);
        add(bDraw);
        
       // setColor(Color.red);
        bLine.addActionListener(this);
        bOval.addActionListener(this);
        bRect.addActionListener(this);
        bRounded.addActionListener(this);
        bDraw.addActionListener(this);
        
        addMouseListener(this);
        addMouseMotionListener(this);
    }
    
    /** Invoked when an action occurs.
     *
     */
    public void actionPerformed(ActionEvent e) {
        setFlagsFalse();
        if(e.getSource()==bDraw)
            draw=true;
        else if(e.getSource()==bLine)
            line=true;
        else  if(e.getSource()==bOval)
            oval=true;
        else if(e.getSource()==bRect)
            rectangle=true;
        else if(e.getSource()==bRounded)
            rounded=true;
            
    }
    
    /** Invoked when the mouse button has been clicked (pressed
     * and released) on a component.
     *
     */
    public void mouseClicked(MouseEvent e) {
    }
    
    /** Invoked when the mouse enters a component.
     *
     */
    public void mouseEntered(MouseEvent e) {
    }
    
    /** Invoked when the mouse exits a component.
     *
     */
    public void mouseExited(MouseEvent e) {
    }
    
    /** Invoked when a mouse button has been pressed on a component.
     *
     */
    public void mousePressed(MouseEvent e) {
        mouseUp=false;
        start=new Point(getX(),getY());
               
    }
    
    /** Invoked when a mouse button has been released on a component.
     *
     */
    public void mouseReleased(MouseEvent e) {
        start=new  Point(Math.min(e.getX(),start.x),Math.min(e.getY(),start.y));
    
        if(line){
            end=new Point(e.getX(),e.getY());
        }else{
            end=new Point(Math.max(e.getX(),start.x), Math.max(e.getY(),start.y));
        } 
        mouseUp=true;
        repaint();
            
    }
    
    /** Invoked when a mouse button is pressed on a component and then
     * dragged.  MOUSE_DRAGGED events will continue to be
     * delivered to the component where the drag originated until the
     * mouse button is released (regardless of whether the mouse position
     * is within the bounds of the component).
     * 


     * Due to platform-dependent Drag&Drop implementations,
     * MOUSE_DRAGGED events may not be delivered during a native
     * Drag&Drop operation.
     *
     */
    public void mouseDragged(MouseEvent e) {
        if(draw){
            dot[dots]=new Point(e.getX(), e.getY());
            dots++;
            repaint();
        }
    }
    
    /** Invoked when the mouse button has been moved on a component
     * (with no buttons down).
     *
     */
    public void mouseMoved(MouseEvent e) {
    }
    
    void setFlagsFalse(){
        rounded=false;
        line=false;
        oval=false;
        rectangle=false;
        draw=false;
    }
    public void paint(Graphics g){
        
        //if(mouseUp){
            int width=end.x-start.x;
            int height=end.y-start.y;
            if(line){
                g.setColor(Color.red);
                g.drawLine(start.x,start.y,end.x,end.y);
            }
            else if(oval){
                g.setColor(Color.green);
                g.fillOval(start.x,start.y, width,height);
            }
            else if(rectangle){
                g.setColor(Color.blue);
                g.fillRect(start.x,start.y,width,height);
            }
            else if(rounded){
                g.setColor(Color.yellow);
                g.fillRoundRect(start.x,start.y, width, height, 50,50);
            }
            else{
                g.setColor(Color.orange);
                for(int loop_index=0;loop_index


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 各位仁兄,我想配置一部3500左右的电脑,但对硬件的价格,性能不太了解,有哪位仁兄能够提供一些关介绍这方面知识的网站,不胜感激
  • 什么是java pet store,那位仁兄失踪了。
  • 哪位仁兄能给小弟推荐基本java的入门好书
  • 请问哪位仁兄知道哪里有UNIX方面的书籍下载
  • 有哪位仁兄能够提供一些Tuxedo方面的资料,不胜感激
  • 那位仁兄有j2ee apis 下载的网址?急用!!
  • 哪位仁兄来指点我一下linux系统的手机编程?
  • 请问哪位仁兄有rfc1521的中文译文,可否mail给我?
  • 请问Java的各位仁兄那个Java 2 Runtime Environment在哪里安装的?
  • 在windows下安装Fedora core从硬盘安装,哪位仁兄指点一下,嗷嗷着急
  • 有那位仁兄知道,在LINUX下用什么命令编译JAVA原文件,谢谢,在线等待。
  • 各位仁兄,谁有MasteringJavabeans的例子程序源码?
  • 郁闷,告诉自己要有耐心,诸位仁兄、仁姐帮个忙(在线)。
  • 请那位仁兄救急一下。tdataset的问题?
  • 哪位仁兄可以发给我javax.servlet.*的包? 多谢!
  • 怎样用程序获得网卡地址!那位仁兄能告知
  • ★★★那位仁兄有Apache的源代码?小弟急用!多谢!!
  • 哪位仁兄可以告诉我在linux下如何访问本机windows下的文件?
  • 哪位仁兄给个简单的用JAAS实现的网页用户名、口令认证的例子...
  • 那位仁兄知道那里有64位的linux系统下载啊


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3