安好如初

回答时间:2019-12-05

向TA提问

public interface IDrawStar {

void setColor(Color c);

void moveStar(int x,int y);

void draw(Graphics g);

}

public class Star implements IDrawStar{

double star_x[]= new double[5];

double star_y[]= new double[5]; //5个点

Color myClor = Color.orange;

GeneralPath path = new GeneralPath(GeneralPath.WIND_EVEN_ODD);

int move_x =0; //位移量

int move_y =0;

public Star(){

//确定五角星的点

for(int i=0; i<5;i++){

star_x[i] = Math.cos((i*2)*Math.PI/5.0)*100;

star_y[i] = Math.sin((i*2)*Math.PI/5.0)*100;

}

//设定图形五角星

path.moveTo(star_x[2], star_y[2]);

path.lineTo(star_x[0], star_y[0]);

path.lineTo(star_x[3], star_y[3]);

path.lineTo(star_x[1], star_y[1]);

path.lineTo(star_x[4], star_y[4]);

path.closePath();

path.setWindingRule(GeneralPath.WIND_NON_ZERO); //设定填充规则,非零和零,填1或0也行

}

@Override

public void setColor(Color c) {

myClor = c;

}

@Override

public void moveStar(int x, int y) {

move_x =x;

move_y =y;

}

@Override

public void draw(Graphics g) {

Graphics2D g2d = (Graphics2D) g;

g2d.setColor(myClor);

g2d.translate(move_x, move_y); //平移

g2d.fill(path); //填充

}

}

public class myJF extends JFrame{

Star star ;

public myJF(){

star = new Star();

this.init();

this.repaint();

}

private void init(){

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

this.setSize(800, 600);

this.setVisible(true);

}

@Override

public void paint(Graphics g){

super.paint(g);

star.setColor(Color.GREEN);

star.moveStar(120, 120);

star.draw(g);

star.setColor(Color.orange);

star.moveStar(120, 60);

star.draw(g);

star.setColor(Color.red);

star.moveStar(120, -60);

star.draw(g);

}

public static void main(String args[]){

new myJF();

}

}

netBeans7下运行正常 俺没eclipse的

收起

阅读全文

java绘制五角星_JAVA 五角星小程序相关推荐

  1. java计算机毕业设计基于微信小程序的校园外卖订餐系统APP

    项目介绍 网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理模块和校园订餐模块,对于校园订餐小程序将是又一个传统管理到智能化信息管理的改革,对于传统的校园订餐管理,所包括的信 ...

  2. 计算机毕业设计Java智慧防疫上报系统小程序端(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java智慧防疫上报系统小程序端(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java智慧防疫上报系统小程序端(源码+系统+mysql数据库+Lw文档) 项目架构:B/S架构 ...

  3. java监听微信_一种基于java后台应用监控微信小程序的用户访问量的方法与流程...

    本发明涉及java应用与微信小程序应用开发技术领域,具体涉及一种基于java后台应用监控微信小程序的用户访问量的方法. 背景技术: 微信小程序,简称小程序,是一种不需要下载安装即可使用的应用,它实现了 ...

  4. Java后台微信点餐小程序开发最新版笔记,Springboot+Mysql+Freemarker+Bootstrap+微信小程序实现扫码点餐小程序,包含语音提示,微信消息推送,网页管理后台

    由于之前的Java后台微信点餐小程序有些知识点过时了,所以今天重新出一版,把里面过时的知识点更新下 前五章是部署笔记,后面是知识点的详细讲解,大家可以先看部署笔记,部署起来后,再跟着详细知识学习. 第 ...

  5. 基于Java毕业设计学习自律养成小程序后台源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计学习自律养成小程序后台源码+系统+mysql+lw文档+部署软件 基于Java毕业设计学习自律养成小程序后台源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B ...

  6. Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战

    Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战 说明:Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战,优惠券是一种常见的促销方式,在规定的周期内购买对应商品类型和额度的商品 ...

  7. 闲来无事,用java写了一个魔方小程序。附源码

    闲来无事,用java写了一个魔方小程序.附源码 使用三维数组.相对来说还是简单.呵呵. import java.util.ArrayList; import java.util.List; impor ...

  8. java实现魔方_闲来无事,用java写了一个魔方小程序。附源码 | 学步园

    闲来无事,用java写了一个魔方小程序.附源码 使用三维数组.相对来说还是简单.呵呵. import java.util.ArrayList; import java.util.List; impor ...

  9. java项目第17期-小程序团购+商城源码【毕业设计】

    java项目第17期-小程序团购+代理商城源码 1.产品介绍 java小程序+大后台web商城源码 基于ssm的一款电子商城,系统采用maven的父子结构, 1.后台web商城包含的模块有: 会员管理 ...

  10. java计算机毕业设计基于微信小程序的药店药品销售管理系统APP

    项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息.为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代, ...

最新文章

  1. python3.5安装-linux系统安装python3.5
  2. ML之RF:kaggle比赛之利用泰坦尼克号数据集建立RF模型对每个人进行获救是否预测
  3. 阿里云智能总裁张建锋:保护客户数据安全是第一原则
  4. 详解Camtasia的场景转换功能
  5. Dynamic Wallpaper for Mac视频动态壁纸
  6. 阿里巴巴国际站全屏分类产品切换效果怎么做?代码生成器产品分类效果切换轮播全屏代码
  7. Linux 文本三剑客之awk 木石前盟
  8. session 对象的绑定、解绑和钝化、活化
  9. iOS中PCH文件的使用
  10. 企业微信机器人还能这么玩?
  11. 学计算机难吗d,我想学计算机,五笔打字很难吗
  12. Jzoj5426 摘Galo
  13. 2022最新超简洁小米步数网页源码
  14. poi word 表格设置居中、左对齐缩进、边框、字体
  15. email邮箱登陆验证实例
  16. 盘点国内外十大免费CDN网站加速服务
  17. 【nvivo11plus教程】01_nvivo介绍、案例与批注
  18. (信贷风控七)申请评分卡模型Python实现(图文+代码实现)
  19. 网页中滚动字幕的制作
  20. 用逻辑思计算来处理问题

热门文章

  1. css实现tab切换时下划线动画效果
  2. 这只“鸭子不一般”科大讯飞申请“躺倒鸭”商标
  3. xcode7.3.1升级iOS10 SDK
  4. LeetCode.M11.盛最多水的容器
  5. c/c++通过域名解析ip地址
  6. 【有效】vscode中markdown导出pdf报错解决: ERROR: Navigation Timeout Exceeded: 30000 ms exceeded
  7. 百度ueditor上传图片时如何设置默认宽高度
  8. 大数据发展和就业前景好吗大数据人才缺口有多大?
  9. linux怎么查硬盘是否故障,怎么检查硬盘是否有问题
  10. 原创超简单代码(1.20)