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

📄 myoval.java~15~

📁 Java画版程序。......................要求变态。
💻 JAVA~15~
字号:
package myshape;/** * Title: * Description: * Copyright:    Copyright (c) 2002 * Company: * @author * @version 1.0 */import java.awt.*;//在矩形中去点还没作public class MyOval extends MyShapeAdapter{  public MyOval() {  }  private MyPoint startPoint,endPoint; //private int radius; public MyOval(MyPoint start,MyPoint end){   startPoint=start;   endPoint=end; } private Color color=defaultColor; public  void setColor(Color c){   color=c; } public void paint(Graphics g){   int width=endPoint.getX()-startPoint.getX();   int height=endPoint.getY()-startPoint.getY();   g.setColor(color);   g.drawOval(startPoint.getX(),startPoint.getY(),width,height); }  public MyShape getShape(){   MyOval o=(MyOval)this.clone();   o.startPoint=(MyPoint)startPoint.clone();   o.endPoint=(MyPoint)endPoint.clone();   //MyLine l=(MyLine)this.clone();   //l.startPoint.moveObject(startPoint.getX()+4,centerPoint.getY()+4);   //l.endPoint.moveObject(endPoint.getX()+4,endPoint.getY()+4);   return o; } public void moveObject(MyShape s,int x,int y){ /* MyPoint p1=(MyPoint)s;  int tempx=centerPoint.getX()-x;  int tempy=centerPoint.getY()-y;  //System.out.print("sdfdksd  "+tempx);  int x1=centerPoint.getX()-endPoint.getX();  int y1=centerPoint.getY()-endPoint.getY();  radius=(int)Math.sqrt(x1*x1+y1*y1);  double tempr=Math.sqrt(tempx*tempx+tempy*tempy);  p1.moveObject((int)(centerPoint.getX()-tempx/tempr*radius),(int)(centerPoint.getY()-tempy/tempr*radius));*/ } public void moveObject(int x,int y){   if(movedPoint!=null){      if(!moveOval){      // movedPoint.moveObject(x,y);      }      else{        int tempx=x-movedPoint.getX();        int tempy=y-movedPoint.getY();        movedPoint=new MyPoint(x,y);        startPoint.moveObject(tempx+startPoint.getX(),tempy+startPoint.getY());        endPoint.moveObject(tempx+endPoint.getX(),tempy+endPoint.getY());      }   } } private MyPoint movedPoint; private boolean moveOval=true; public boolean getChanged(){return !moveOval;} public boolean nearTo(int x,int y){ //centerPoint.attachToOthers=false;  movedPoint=null;  if(startPoint.nearTo(x,y)){   //  centerPoint.attachToOthers=true;     movedPoint=startPoint;     moveOval=false;     return  false;  }  if(endPoint.nearTo(x,y)){     movedPoint=endPoint;     moveOval=false;     return false;  }  //centerPoint.attachToOthers=true;  double a=(startPoint.getX()-endPoint.getX())/2.0;  double b=(startPoint.getY()-endPoint.getY())/2.0;  double tempx=x-(startPoint.getX()+a);  double tempy=y-(startPoint.getY()+a); // tempx=(int)Math.sqrt(Math.abs(tempx-tempy)); //  tempx=tempx*tempx/(a*a)+tempy*tempy/(b*b)-1;  //System.out.print("OK  "+tempx);  if(tempx<10 && tempx>-10){     movedPoint=new MyPoint(x,y);     moveOval=true;     return true;  }  return false; } public String toString(){   String s="椭圆 ";   return s;  } public MyPoint getPoint(){   return movedPoint; }}

⌨️ 快捷键说明

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