中易网

Java编程 在一个简化绘图程序中,支持图形种类有点和圆,在设计过程中认为所有点和圆都是图形,并定

答案:2  悬赏:50  
解决时间 2021-03-21 07:42
Java编程
在一个简化绘图程序中,支持图形种类有点和圆,在设计过程中认为所有点和圆都是图形,并定义类型shape,point个circle,分别表示图形,点和圆,并且点和圆具有基本图形的所有特征。试给出各类间的关系并给出Java的类声明
最佳答案
public class Shape//定义图形类

{
int shape_id;//图形编号,图形的成员属性
//public display(){};//显示方法,图形的成员方法

}

public class Point extends Shape//定义点,继承图形
{
//由于继承Shape,此类自带shape_id和display(){}方法

int posX;
int posY;//定义二维中点的坐标
//int posZ;//如果是个三维绘图程序另说

//public Point(int x,int y){};//构造方法

//@override
//public display(){}//覆盖display方法
}

public class Circle extends Shape//定义圆,继承图形
{
static final double PI=3.1415926535;//定义圆周率
Point core;//圆的中心点

double r;//圆的周长

public Circle(Point p,double l)//构造方法
{
core=p;
r=l;
}

}

结论是 圆和点泛化为图形且点组合于圆;
全部回答

import java.awt.graphics; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.itemevent; import java.awt.event.itemlistener; import java.awt.event.mouseevent; import java.awt.event.mouselistener; import java.awt.event.mousemotionlistener; import javax.swing.*; class starpaint extends jpanel implements mouselistener, mousemotionlistener{      private int x1 , y1 , x2 , y2;  public starpaint(){   //setbackground(color.black);   addmouselistener(this);   addmousemotionlistener(this);  }    public void paintcomponent(graphics g){   super.paintcomponent(g);   judgeshape(g);   x2 = 0;y2 = 0;     }

   private void judgeshape(graphics g) {   // todo auto-generated method stub   switch (startestp.shape) {   case 0:    drawline(g);    break;   case 1:    drawoval(g);    break;   case 2:    drawrect(g);    break;   }  }

   private void drawrect(graphics g) {   // todo auto-generated method stub   g.drawrect(x1, y1, x2 - x1, y2 - y1);   system.out.println(2);  }

   private void drawoval(graphics g) {   // todo auto-generated method stub   system.out.println(1);   g.drawoval(x1, y1, x2 - x1, y2 - y1);     }

   private void drawline(graphics g) {   // todo auto-generated method stub   g.drawline(x1, y1, x2, y2);   system.out.println(0);     }

   public void mouseclicked(mouseevent arg0) {   // todo auto-generated method stub

    }

   public void mouseentered(mouseevent arg0) {   // todo auto-generated method stub     }

   public void mouseexited(mouseevent arg0) {   // todo auto-generated method stub     }

   public void mousepressed(mouseevent arg0) {   // todo auto-generated method stub   x1 = arg0.getx();   y1 = arg0.gety();   repaint();     }

   public void mousereleased(mouseevent arg0) {   // todo auto-generated method stub   x2 = arg0.getx();   y2 = arg0.gety();   repaint();     }

   public void mousedragged(mouseevent arg0) {   // todo auto-generated method stub   x2 = arg0.getx();   y2 = arg0.gety();   repaint();     }

   public void mousemoved(mouseevent arg0) {   // todo auto-generated method stub     }

}

public class startestp extends jframe implements actionlistener,itemlistener{    static int shape = 0;    starpaint starpaint = new starpaint();   string[] string = {"line","oval","rect"};   jcombobox combobox = new jcombobox(string);    public startestp(){      setsize(600,500);      combobox.additemlistener(this);      add("center",starpaint);   add("north",combobox);      setvisible(true);  }

   public void actionperformed(actionevent arg0) {   // todo auto-generated method stub     }

   public void itemstatechanged(itemevent arg0) {   // todo auto-generated method stub   if (arg0.getstatechange() == itemevent.selected)    shape = combobox.getselectedindex();   //system.out.println(shape);     }  public static void main(string[] args) {   new startestp();  }

}

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
qq不想用话费开黄钻了怎么办
英雄联盟进的慢咋办
宝宝便便颜色老是发青的怎么回事
浙江省宁波市北仑区柴桥街道白云小区邮编是什
汉中到西乡汽车票多少钱?
2013年1月哪一天最适合提车日子最好?
问一下十一层的洋房买十一层好吗,还赠阁楼呢
眼罩冰袋 该怎么加水?
男子自由体操的动作时间最多需要多少秒?
【题文】如图3所示是一位同学设计的防盗门报
想知道:汉中 西乡县太阳花托管中心 在哪?
魅族mx3和三星note3外放音质哪个好
青山沟雪飞农家院怎么提升收录啊
请问.我要做一个户外车身贴..尺寸6米*4米的.
梁木桥村地址在什么地方,我要处理点事
推荐资讯
兰州位于河南济源哪个位置
芮城亚宝工资待遇如何
计算机售后是做什么工作(软件方面)
四川特色小吃在哪里啊,我有事要去这个地方
我想买KFC的股票,我要什样做呢?
江苏蠡口有中低档家具批发一般要多少投资首次
传播反恐视频会判刑吗
知识产权论述题,企业在涉及侵犯他人专利情况
汽车贴龙膜有什么好处?重庆哪儿有龙膜授权店
如何衡量消费已经成为当前拉动我国经济增长的
碧玺床垫是传销吗
六安有哪些乡镇
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?