Java2D支持通过GeneralPath实现绘制任意的几何形状。

步骤:1)实例化GeneralPath对象

2)调用moveTo()方法锚地开始点坐标

3)调用lineTo()或curveTo()方法绘制连接线

4)调用closePath()方法完成几何形状绘制

package chapter1;

import javax.swing.*;

import java.awt.*;

import java.awt.geom.GeneralPath;

public class GeneralPathDemo extends JPanel {

private static final long serialVersionUID = 1L;

public GeneralPathDemo(){

super();

}

public void paintComponent(Graphics g){

Graphics2D g2d = (Graphics2D) g.create();

g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);

int x1 = this.getWidth()/5;

int y1 = this.getHeight()-20;

int x2 = this.getWidth()/2;

int y2 = 20;

int x3 = this.getWidth()-20;

int y3 = this.getHeight()-20;

int x4 = 20;

int y4 = this.getHeight()/3;

int x5 = this.getWidth()-20;

int y5 = y4;

int x1points[] = {x1,x2,x3,x4,x5};

int y1points[] = {y1,y2,y3,y4,y5};

g2d.setPaint(Color.RED);

GeneralPath polygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD,x1points.length);

polygon.moveTo(x1points[0],y1points[0]);

//顺序画下其他点

for(int i=1; i

polygon.lineTo(x1points[i],y1points[i]);

}

polygon.closePath();//调用closePath形成一个封闭几何形状

g2d.draw(polygon);//绘制

g2d.dispose();//释放资源

}

public static void main(String args[]){

JFrame jf = new JFrame("Demo Graphics");

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jf.getContentPane().setLayout(new BorderLayout());

jf.getContentPane().add(new GeneralPathDemo(), BorderLayout.CENTER);

jf.setPreferredSize(new Dimension(380, 380));

jf.pack();

jf.setVisible(true);

}

}

java 画星星_Java——绘制五角星相关推荐

  1. java画虚线_Java绘制虚线

    Java绘制虚线 (2013-03-29 17:07:14) 标签: 绘图 虚线 it DashStroke.java ----------------- import java.awt.*; imp ...

  2. java打星星_java实现星星图形的输出

    java实现星星图形的输出 2020年9月5日 12:17 by scott java 最近在看阿拓老师的视频,有个输出如下图形的练习: 经过一番探索,发现一个完全用循环实现的方法: public c ...

  3. java如何画五角星_Java——绘制五角星

    Java2D支持通过GeneralPath实现绘制任意的几何形状. 步骤:1)实例化GeneralPath对象 2)调用moveTo()方法锚地开始点坐标 3)调用lineTo()或curveTo() ...

  4. java绘制五角星_Java——绘制五角星

    Java2D支持通过GeneralPath实现绘制任意的几何形状. 步骤:1)实例化GeneralPath对象 2)调用moveTo()方法锚地开始点坐标 3)调用lineTo()或curveTo() ...

  5. java 画树_java – 如何绘制代表连接节点图的树?

    我想在Java GUI中显示树,但我不知道如何.树代表连接节点的图形,如下所示: 我应该说我有自己的树类: public class BinaryTree { private BinaryNode r ...

  6. java 画树_java – 如何绘制代表连接节点图的树?

    我想在 Java GUI中显示树,但我不知道如何.树代表连接节点的图形,如下所示: 我应该说我有自己的树类: public class BinaryTree { private BinaryNode ...

  7. java画八卦_Java实现太极八卦的绘制

    Java实现太极八卦的绘制 package paint; import javax.swing.JFrame; public class Graph2DG extends JFrame{ public ...

  8. java画雪花_java分形绘制科赫雪花曲线(科赫曲线)代码分享

    首先我们举个例子: 我们可以看到西兰花一小簇是整个花簇的一个分支,而在不同尺度下它们具有自相似的外形.换句话说,较小的分支通过放大适当的比例后可以得到一个与整体几乎完全一致的花簇.因此我们可以说西兰花 ...

  9. java 画树_java Graphics 绘制树形图,保存图片

    最近项目中要做报告,生成树形图显示父子关系,网上没找到合适的工具,所以用Graphics画了个简单的. 很简单直接上代码吧. import javax.imageio.ImageIO; import ...

最新文章

  1. Qt5.7 + VS2015 环境搭建
  2. STM32F103mini教程通用定时器
  3. 在实际使用中 mysql所支持的触发器有_计算机二级考试MySQL数据库每日一练 12月26日...
  4. python中while循环_Python第12课:while循环案例 打印输出有规律的造型
  5. matlab lpfilter.m,histroi/statmoments/lpfilter/dftuv的Matlab程序
  6. Spring Cloud 个人心得 理论
  7. Spring Cloud Config 使用总结
  8. Spark dataframe【KV格式】模拟实现Map操作
  9. Python DearPyGui 常用控件二
  10. lighttpd 之防盗链
  11. Nmap 可能引起cisco路由器Crash
  12. Android 4.1初识--7月13号
  13. IEEE1588V1-V2理解
  14. 安装python的numpy模块教程
  15. Rayman的绝顶之路——Leetcode每日一题打卡2
  16. 看完这篇就够了,mac版本最新Camera Raw 15.1 新功能HDR详解
  17. XPDL之流程定义元模型
  18. 14期《掬水月在手,弄花香满衣》1月刊
  19. 计算机毕业设计Java河池市旅游信息系统(源码+系统+mysql数据库+lw文档)
  20. 小程序通过三元运算符设置样式

热门文章

  1. java webservice配置文件_webservice配置文件
  2. 网站优化 SEO教程
  3. js 获取数组第1条和倒数第1条
  4. T420win7破解3G内存限制
  5. Python numpy中的hsplit()和vsplit()函数详细解释
  6. 【转】什么是场效应管(FET)-场效应管(FET)分类、原理、用途等知识详解
  7. 来,2W 字 +23 张图 +5W1H 分析法帮你彻底拿下缓存
  8. 安卓app开发-----服务器端开发
  9. QCC51XX---添加第三方库文件
  10. 巴黎索邦大学计算机学院世界排名,索邦大学世界排名