Java之绘制方法
绘制图形所用的函数类别分别为视图类、图形单元类和页面类。
对视图类,设置窗口的位置和大小;
对图形单元类,设置图形边界;
对页面类,只有当页面作为元件,该函数才起作用,设置元件边界。
一般构建窗口我们用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之绘制方法的更多相关文章
- Java之绘制艺术图案
前面已经介绍过绘制方法.这里不再赘述. package com.caiduping; import java.awt.Color; import java.awt.Graphics; import j ...
- Java之绘制五环图案
前面已经介绍过绘制方法.这里不再赘述. package com.caiduping; import java.awt.BasicStroke; import java.awt.Color; impor ...
- Java之绘制实例
前面已经介绍过绘制方法. 弧形的绘制: package com.caiduping; import java.awt.Graphics; import javax.swing.JFrame; impo ...
- Android中贝塞尔曲线的绘制方法
贝塞尔曲线,很多人可能不太了解,什么叫做贝塞尔曲线呢?这里先做一下简单介绍:贝塞尔曲线也可以叫做贝济埃曲线或者贝兹曲线,它由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋.一般的矢量图形软件常 ...
- oracle调用JAVA类的方法
导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了, 1.操作系统需要拥有支持loadjava命令的jdk. 2.加 ...
- Java中的方法应用
一.如何定义java中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 语法: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.priv ...
- Java Runtime.availableProcessors()方法
Java Runtime.availableProcessors()方法用法实例教程. 描述 java.lang.Runtime.availableProcessors() 方法返回到Java虚拟 ...
- C#中的GDI+图形绘制方法
GDI+图形绘制方法 1.首先对于绘制图形,必须的先将命名空间导入:using System.Drawing.Drawing2D; 2.然后在一个事件中写入程序 首先先将Graphics这个对象实例化 ...
- paip.java OutOfMemoryError 解决方法o33
paip.java OutOfMemoryError 解决方法o33 java.lang.OutOfMemoryError: Requested # java.lang.OutOfMemoryErro ...
随机推荐
- java读取properties的工具类PropertiesUtil
package org.properties.util; import java.io.FileInputStream; import java.io.FileOutputStream; import ...
- sqlite3 多线程和锁 ,优化插入速度及性能优化
一. 是否支持多线程? SQLite官网上的"Is SQLite threadsafe?"这个问答. 简单来说,从3.3.1版本开始,它就是线程安全的了.而iOS的SQLite ...
- UVa 11234 Expressions (二叉树重建&由叶往根的层次遍历)
画图出来后结果很明显 xyPzwIM abcABdefgCDEF sample output wzyxIPM gfCecbDdAaEBF * + - x y z w F B E a A d D b c ...
- 添加MIME类型
#查看站点test01下所有的MIME类型: Get-WebConfiguration -PSPath MACHINE/WEBROOT/APPHOST/test01 -Filter system.we ...
- delphi 中DLL的建立
Dll的创建与调用 File ->New->Other->Dll Wizard DLL的创建 //可以将本代码复制粘贴到项目中 library Project1; uses S ...
- android短信的接收和发送处理
一 初始化 手机开机初始化调用GSMPhone 构造函数. GSMPhone (Context context, CommandsInterface ci, PhoneNotifier notifie ...
- 个人对maven pom.xml文件的理解
如:一个项目可能需要引用另外两个项目的类.. 如 项目cswebbefore 需要引用cswebservice 和reports 这三个项目都有各自的pom.xml文件 cswebservice 项 ...
- Node.js 的Web server--Fenix
Fenix 是提供给开发者使用的简单的一个 Web server, 是基于 Node.js 开发. 能够同一时候在上面执行非常多的项目. 最适合前端开发者使用. 能够通过免费的 Node.js 控制台 ...
- C语言--enum,typedef enum 枚举类型详解
原文:http://z515256164.blog.163.com/blog/static/32443029201192182854300/ 有改动 C语言详解 - 枚举类型 注:以下全部代码的执行环 ...
- [带你飞]一小时带你学会Python
1.面向的读者: 具有Javascript经验的程序猿. 2 快速入门2.1 Hello world 安装完Python之后,打开IDLE(Python GUI) , 该程序是Python语言解释器, ...