Graphics类提供基本绘图方法,Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形、画字符串等。

画线段

drawLine

public abstract void drawLine(int x1,

int y1,

int x2,

int y2)

在此图形上下文的坐标系中,使用当前颜色在点 (x1, y1) 和 (x2, y2) 之间画一条线

参数:

x1 - 第一个点的 x 坐标。

y1 - 第一个点的 y 坐标。

x2 - 第二个点的 x 坐标。

y2 - 第二个点的 y 坐标。

g.drawLine(10, 50, 100, 100);

画矩形

drawRect

public void drawRect(int x,

int y,

int width,

int height)

绘制指定矩形的边框。矩形的左边缘和右边缘分别位于 x 和 x + width。上边缘和下边缘分别位于 y 和 y + height。使用图形上下文的当前颜色绘制该矩形。

参数:

x - 要绘制矩形的 x 坐标。

y - 要绘制矩形的 y 坐标。

width - 要绘制矩形的宽度。

height - 要绘制矩形的高度。

g.drawRect(120, 50, 200, 100);

画椭圆形

public abstract void drawOval(int x,

int y,

int width,

int height)

绘制椭圆的边框。得到一个圆或椭圆,它刚好能放入由 x、y、width 和 height 参数指定的矩形中。

椭圆覆盖区域的宽度为 width + 1 像素,高度为 height + 1 像素。

参数:

x - 要绘制椭圆的左上角的 x 坐标。

y - 要绘制椭圆的左上角的 y 坐标。

width - 要绘制椭圆的宽度。

height - 要绘制椭圆的高度。

g.drawOval(160, 160, 200, 100);

画带颜色的图形

setColor

public abstract void setColor(Color c)

将此图形上下文的当前颜色设置为指定颜色。使用此图形上下文的所有后续图形操作均使用这个指定的颜色。

参数:

c - 新的呈现颜色。

g.setColor(Color.yellow);

g.fillRect(20,70,20,30); //画矩形着色块

画圆

drawRoundRect

public abstract void drawRoundRect(int x,

int y,

int width,

int height,

int arcWidth,

int arcHeight)

用此图形上下文的当前颜色绘制圆角矩形的边框。矩形的左边缘和右边缘分别位于 x 和 x + width。矩形的上边缘和下边缘分别位于 y 和 y + height。

参数:

x - 要绘制矩形的 x 坐标。

y - 要绘制矩形的 y 坐标。

width - 要绘制矩形的宽度。

height - 要绘制矩形的高度。

arcWidth - 4 个角弧度的水平直径。

arcHeight - 4 个角弧度的垂直直径。

g.setColor(Color.red); g.fillRoundRect(80,100,100,100,100,100);//画圆块

画圆弧

drawArc

public abstract void drawArc(int x,

int y,

int width,

int height,

int startAngle,

int arcAngle)

绘制一个覆盖指定矩形的圆弧或椭圆弧边框。

得到的弧从 startAngle 开始跨越 arcAngle 度,并使用当前颜色。对角度的解释如下:0 度角位于 3 点钟位置。正值指示逆时针旋转,负值指示顺时针旋转。

弧的中心是矩形的中心,此矩形的原点为 (x, y),大小由 width 和 height 参数指定。

得到的弧覆盖 width + 1 像素宽乘以 height + 1 像素高的区域。

角度是相对于外接矩形的非正方形区域指定的,45 度角始终落在从椭圆中心到外接矩形右上角的连线上。因此,如果外接矩形在一个轴上远远长于另一个轴,则弧段的起点和结束点的角度将沿边框长轴发生更大的偏斜。

参数:

x - 要绘制弧的左上角的 x 坐标。

y - 要绘制弧的左上角的 y 坐标。

width - 要绘制弧的宽度。

height - 要绘制弧的高度。

startAngle - 开始角度。

arcAngle - 相对于开始角度而言,弧跨越的角度。

g.drawArc(10,40,90,50,0,180); //画圆弧线

g.drawArc(100,40,90,50,180,180); //画圆弧线

g.setColor(Color.yellow);

g.fillArc(10,100,40,40,0,-270); //填充缺右上角的四分之三的椭圆

g.setColor(Color.green);

g.fillArc(60,110,110,60,-90,-270); //填充缺左下角的四分之三的椭圆

画多边形

/**

* 绘制一个由 x 和 y 坐标数组定义的闭合多边形。每对 (x, y) 坐标定义一个点。

*/

public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints);

/**

* 填充由 x 和 y 坐标数组定义的闭合多边形。

*/

public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)

int px[] = { 210, 220, 270, 250, 240};int py[] = { 220, 250, 300, 270, 220};

g.drawPolygon(px, py, px.length);

画字符串

public abstract void drawString(String str,

int x,

int y)

使用此图形上下文的当前字体和颜色绘制由指定 string 给定的文本。最左侧字符的基线位于此图形上下文坐标系的 (x, y) 位置处。

参数:

str - 要绘制的 string。

x - x 坐标。

y - y 坐标。

g.setColor(Color.GREEN);

g.setFont(new Font("楷体", Font.BOLD, 20));

g.drawString("使用画笔绘制的字符串内容", 220, 345);

java 图形绘制_Java Graphics 图形绘制相关推荐

  1. java 验证码 算术_java生成图形验证码(算数运算图形验证码 + 随机字符图形验证码)...

    平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我. 跟着我从0学习JAVA.spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信 ...

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

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

  3. java国际象棋棋牌_java使用swing绘制国际象棋棋盘

    本文实例为大家分享了java使用swing绘制国际象棋棋盘的具体代码,供大家参考,具体内容如下 1.完整代码 import java.awt.Color; import java.awt.Point; ...

  4. java怎么开发图形界面_Java Swing 图形界面开发简介

    1. Swing简介 Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分. Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口.标签.按钮.文本框等 ...

  5. 实验楼Java写计算器_Java版图形界面计算器

    Java 版图形界面计算器 实验说明及介绍 环境登录 无需密码自动登录,系统用户名 shiyanlou,密码 shiyanlou 环境介绍 本实验环境采用带桌面的 Ubuntu Linux 环境,实验 ...

  6. java表格界面_Java自学-图形界面 表格

    Swing 使用 JTable详解 示例 1 : 基本表格 显示一个Table需要两组数据 一维数组: String[]columnNames 表示表格的标题 二维数组: String[][] her ...

  7. 如何用java做游戏地图_Java为游戏绘制地图网格

    嘿,我正在尝试制作地牢爬虫,但我仍停留在地图生成上.我希望生成随机的房间,但是在完成所有操作之前,我必须先在屏幕上绘制地图.我希望地图自上而下,几乎是一个网格,稍后再将地板图像添加到其中.我的思维方式 ...

  8. java制作画布_java – 使用自定义方法绘制到画布?

    我正在编写一个 Android 2-D游戏,我遇到了一些麻烦. 目前,在我的包中,我有一个绘制画布实例的线程.我正在从资源中绘制Drawable位图.我想做的是让线程处理背景图像的绘制.但是,自定义对 ...

  9. 用java编写图形用户界面_Java编写图形用户界面程序

    展开全部 运行如图 参考代码如下import java.awt.*; import java.awt.event.*; import javax.swing.*; public class RegDe ...

最新文章

  1. 协同办公工具解决了什么问题?
  2. Order笔记-数据库创建
  3. 基于直方图均衡化的水下激光图像处理(MATLAB仿真)
  4. 云炬Android开发笔记 7登陆注册功能开发
  5. Go如何按行读取文本
  6. boost::filesystem::path的用法测试程序
  7. python集合类型中的元素是有序的_Python基础-2-变量和数据类型(2)-列表、元组、字典、集合...
  8. Java 异步编程:从 Future 到 Loom
  9. 漏洞:Client ReDos From Regex Injection
  10. 某储云商城系统源码V1.782 绿色版
  11. 什么是全文搜索引擎?
  12. UVA 12307 Smallest Enclosing Rectangle
  13. 程序员在技术之外,还要掌握一个技能——自我营销能力
  14. 灰色简约大学生小组作业展示PPT模板
  15. 现代笑话二则:1.宿舍找钱;2.不漂亮的漂亮。
  16. sql2java-excel(二):基于apache poi实现数据库表的导出的spring web支持
  17. Java线程中,Blocked,Wait,以及TIMED_WAIT的区别
  18. 微信公众号 - Java推送小程序订阅消息给用户
  19. 动手试试!手把手教你如何适配 iPhone X
  20. 科普:QUIC协议原理分析

热门文章

  1. 工作77::配置id传值地址
  2. 前端学习(2340):以组件方式考虑ui
  3. 前端学习(1611):redux使用
  4. 前端学习(932):mouseenter和mouseover区别
  5. 前端学习(595):使用network进行详细分析
  6. 前端学习(172):格式化文本
  7. java学习(175):method类反射机制
  8. html定位fix,html 定位fixed
  9. 关于Android回调的理解
  10. java 对应sql驱动版本_关于Oracle JDBC驱动版本、JDK版本、数据库版本对应关系(相关的报错:ORA-28040)...