绘制图形所用的函数类别分别为视图类、图形单元类和页面类。

对视图类,设置窗口的位置和大小;

对图形单元类,设置图形边界;

对页面类,只有当页面作为元件,该函数才起作用,设置元件边界。

一般构建窗口我们用SetBounds来构建:

SetBounds(int x,int y,int width,int height)

参数分别表示左边坐标、上边坐标、宽度、高度。

以前高中数学老师讲课时总是强调“数形结合”的方法来理解某种知识概念,这个方法的确很管用而且容易记得住。为了更详细的说明,我把它画出来分析便于理解:

其实我们见的比较多的是Rect类,而对于Rect类我们就可能容易混淆,所以在这里我把Rect类也拿出来比较一下,我们再看看Rect类:

Rect位于android.graphics下,表示一个矩形,由四条边的坐标组成,提供了一些设置方法。

new Rect(left,top,right,bottom)

那么矩形的宽度(width)为:right-left,矩形的高度(height)为:bottom-top

同样,来看图形更直观易懂: 

那么我们来个平行线来实践一下效果:

package com.caiduping;

import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel; public class DrawLineFrame extends JFrame {
DrawLinePanel linePanel = new DrawLinePanel(); // 创建面板类的实例 public static void main(String args[]) { // 主方法
DrawLineFrame frame = new DrawLineFrame(); // 创建窗体类的实例
frame.setVisible(true); // 显示窗体
} public DrawLineFrame() {
super(); // 调用超类的构造方法
setTitle("绘制直线"); // 窗体标题
setBounds(100, 100, 273, 167); // 窗体的显示位置和大小
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 窗体关闭方式
add(linePanel); // 将面板类的实例添加到窗体容器中
} class DrawLinePanel extends JPanel { // 创建内部面板类
public void paint(Graphics g) { // 重写paint()方法
g.drawLine(70, 50, 180, 50); // 绘制第一条水平线
g.drawLine(70, 80, 180, 80); // 绘制第二条水平线
g.drawLine(110, 10, 140, 120); // 绘制斜线
}
}
}

run:

Java之绘制方法的更多相关文章

  1. Java之绘制艺术图案

    前面已经介绍过绘制方法.这里不再赘述. package com.caiduping; import java.awt.Color; import java.awt.Graphics; import j ...

  2. Java之绘制五环图案

    前面已经介绍过绘制方法.这里不再赘述. package com.caiduping; import java.awt.BasicStroke; import java.awt.Color; impor ...

  3. Java之绘制实例

    前面已经介绍过绘制方法. 弧形的绘制: package com.caiduping; import java.awt.Graphics; import javax.swing.JFrame; impo ...

  4. Android中贝塞尔曲线的绘制方法

    贝塞尔曲线,很多人可能不太了解,什么叫做贝塞尔曲线呢?这里先做一下简单介绍:贝塞尔曲线也可以叫做贝济埃曲线或者贝兹曲线,它由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋.一般的矢量图形软件常 ...

  5. oracle调用JAVA类的方法

    导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

  6. Java中的方法应用

    一.如何定义java中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 语法: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.priv ...

  7. Java Runtime.availableProcessors()方法

    Java Runtime.availableProcessors()方法用法实例教程.   描述 java.lang.Runtime.availableProcessors() 方法返回到Java虚拟 ...

  8. C#中的GDI+图形绘制方法

    GDI+图形绘制方法 1.首先对于绘制图形,必须的先将命名空间导入:using System.Drawing.Drawing2D; 2.然后在一个事件中写入程序 首先先将Graphics这个对象实例化 ...

  9. paip.java OutOfMemoryError 解决方法o33

    paip.java OutOfMemoryError 解决方法o33 java.lang.OutOfMemoryError: Requested # java.lang.OutOfMemoryErro ...

随机推荐

  1. SQL Server中使用convert进行日期转换

    使用 CONVERT: CONVERT (data_type[(length)],expression[,style]) 参数 expression 是任何有效的 Microsoft® SQL Ser ...

  2. VS 2012单元测试和测试资源管理器

    时间:2012-08-27 17:29 来源:张善友 博客园 字体:[大 中 小] 现在您可以在您的项目当中自行选择 NUnit 或是 xUnit 之类的套件. 而且这次的测试资源管理器也完全以”信息 ...

  3. Vue2.0表单校验组件vee-validate的使用

    vee-validate使用教程 *本文适合有一定Vue2.0基础的同学参考,根据项目的实际情况来使用,关于Vue的使用不做多余解释.本人也是一边学习一边使用,如果错误之处敬请批评指出* 一.安装 n ...

  4. JS 之如何在插入元素时插在原有元素的前面而不是末尾

    语法: 父级.insertBefore(新元素,被插入的元素):          //在指定的元素前面加入一个新元素 父级.insertBefore(新元素,父级.children[0]); //在 ...

  5. Android中图表AChartEngine学习使用与例子

    很多时候项目中我们需要对一些统计数据进行绘制表格,更多直观查看报表分析结果.基本有以下几种方法: 1:可以进行android  api进行draw这样的话,效率比较低 2:使用开源绘表引擎,这样效率比 ...

  6. opencv 手势识别

    我使用OpenCV2.4.4的windows版本+Qt4.8.3+VS2010的编译器做了一个手势识别的小程序. 本程序主要使到了Opencv的特征训练库和最基本的图像处理的知识,包括肤色检测等等. ...

  7. 关于2000W数据

    前几天在博客园首页看到这个2000W数据的消息,刚好这个学期正在SQL入门,加上好奇心的驱使,把这个下载下来. 一个是600多M的CSV文件,还有一个是1.7G的SQL Server的备份文件,解压后 ...

  8. uva216 c++回溯法

    因为题目要求最多8台电脑,所以可以枚举全排列,然后依次计算距离进行比较,枚举量8!=40320并不大,但这种方法不如回溯法好,当数据再大一些枚举就显得笨拙了,所以这个题我用回溯法做的,回溯有一个好处是 ...

  9. 谷歌插件开发(实现CSDN快速登陆)

    谷歌浏览器插件带来了很大的方便,于是就想着是不是也可以开发一个来用用.几经折腾下,开发了个CSDN快速 登陆的插件.下面简述一下开发的步骤. 1.开发工具:谷歌浏览器(我开发时用的是chrome 30 ...

  10. GoldenGate配置(一)之单向复制配置

    GoldenGate配置(一)之单向复制配置 环境: Item Source System Target System Platform Red Hat Enterprise Linux Server ...