本文链接: http://blog.csdn.net/xietansheng/article/details/55669157
Graphics 类相当于一个画布,每个 Swing 组件都通过 Graphics 对象来绘制显示。绘图的原点位于组件的右上角,如下图所示:
Graphics
类中常用的绘制相关方法:
○ 参数 / 设置:
// 创建 Graphics 的副本Graphics create()// 回收 Graphicsvoid dispose()// 设置画笔颜色void setColor(Color c)// 擦除某一区域(擦除后显示背景色)void clearRect(int x, int y, int width, int height)1、线段 / 折线:
// 绘制一条线段(如果两点为同一点,则绘制点)void drawLine(int x1, int y1, int x2, int y2)// 根据给定的多个点坐标绘制折线void drawPolyline(int xPoints[], int yPoints[], int nPoints)2、矩形 / 多边形:
// 绘制一个矩形(空心)void drawRect(int x, int y, int width, int height)// 填充一个矩形(实心)void fillRect(int x, int y, int width, int height)// 绘制一个圆角矩形void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)// 填充一个圆角矩形void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)// 绘制一个3D矩形void draw3DRect(int x, int y, int width, int height, boolean raised)// 填充一个3D矩形void fill3DRect(int x, int y, int width, int height, boolean raised)// 根据给定的多个点坐标绘制一个多边形(首尾相连)void drawPolygon(int xPoints[], int yPoints[], int nPoints)// 根据给定的多个点坐标填充一个多边形(首尾相连)void fillPolygon(int xPoints[], int yPoints[], int nPoints)3、圆弧 / 扇形:
// 绘制一个圆弧(弧线)void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)// 填充一个圆弧(扇形)void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)4、椭圆:
// 绘制一个椭圆void drawOval(int x, int y, int width, int height)// 填充一个椭圆void fillOval(int x, int y, int width, int height)5、图片
// 根据文件路径读取一张本地图片Image image = java.awt.Toolkit.getDefaultToolkit().getImage(String filename)// 根据网络链接读取一张本地图片Image image = java.awt.Toolkit.getDefaultToolkit().getImage(URL url)// 绘制一张图片(所有组件类实现了 ImageObserver 接口,即组件实例即为 ImageObserver)boolean drawImage(Image image, int x, int y, int width, int height, ImageObserver observer)6、文本
// 设置字体(字体、样式、大小)void setFont(Font font)// 绘制一段文本,其中 (x, y) 坐标指的是文本序列的 左下角 的位置void drawString(String str, int x, int y)在 Swing 组件的实际绘制中通常使用的是 Graphics 的一个子类Graphics2D
, 该类中提供了更为丰富的接口来绘制更为复杂的需求。
Graphics2D
类中的部分方法:
1、参数 / 设置
// 设置背景(擦除后显示该背景)void setBackground(Color color)// 设置笔画的轮廓特性(如画笔宽度、实线、虚线等)void setStroke(Stroke s)2、绘制结果的变换
// 平移void translate(int x, int y)// 旋转void rotate(double theta, double originX, double originY)// 缩放void scale(double sx, double sy)// 将图片经过指定变换后绘制显示boolean drawImage(Image image, AffineTransform xform, ImageObserver obs)结果展示:
新闻热点
疑难解答