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

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

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

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

一般构建窗口我们用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. IoC模式(Inversion of Control)

      1.依赖 依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖.如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它.下面看 ...

  2. 多线程访问winform控件出现异常的解决方法

    一.  多线程访问winform控件出现异常的解决方法 1.  问题描述<1> 如果创建某控件的线程之外的其他线程试图调用该控件,则会引发一个 InvalidOperationExcept ...

  3. BZOJ 1079: [SCOI2008]着色方案 记忆化搜索

    1079: [SCOI2008]着色方案 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

  4. Oracle 生成随机密码

    需求:需要定期更改密码.要求是1.密码位数11位.2.必须包含大小写字母.数字.特殊字符.3.排除一些特殊字符如().@.& oracle数据库中有可已生成随机密码包dbms_random,但 ...

  5. SpringMVC4.2.4 xml配置

    环境:1.基于spring4.2.4版本,也是spring当前(2016.2)最新的GA版本 2.maven 3.2.1 3.jdk1.7 xml配置1: web.xml <?xml versi ...

  6. Cocos2d-x学习笔记(10)(CCMenu菜单)

    1.CCMenu创建方式 CCMenu* menu = CCMenu::create(cocos2d::CCMenuItem* item,--)參数为CCMenuItem菜单项的对象可变參数列表 2. ...

  7. HDU 4932 贪心

    Miaomiao's Geometry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  8. Android 实现书籍翻页效果----升级篇

    自从之前发布了<Android 实现书籍翻页效果----完结篇 >之后,收到了很多朋友给我留言,前段时间由于事情较多,博客写得太匆忙很多细节地方没有描述清楚.所以不少人对其中的地方有不少不 ...

  9. StarlingMVC Framework中文教程

    配置与开始 将Starling项目配置为StarlingMVC项目,仅需几行代码.在继承于starling.display.Sprite的起始类里,创建一个StarlingMVC的实例,并传递给它三个 ...

  10. 带约束优化问题 拉格朗日 对偶问题 KKT条件

    转自:七月算法社区http://ask.julyedu.com/question/276 咨询:带约束优化问题 拉格朗日 对偶问题 KKT条件 关注 | 22 ... 咨询下各位,在机器学习相关内容中 ...