资源简介
一个用Java的swing包中的类实现的画图板的小型应用程序,实现了直线、矩形等图形的绘制效果。

代码片段和文件信息
package drawing;
import java.awt.*;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Graphics;
abstract class DrawShape implements Serializable
{
protected int x1y1; //图形区域的起始点坐标
protected int x2y2; //图形区域的终点坐标
protected Color lineColor; //图形的画线颜色
protected Color paintColor; //图形的填充颜色
protected int graphicstyle; //图形的类型
protected boolean forever; //是否为永久图形
protected Rectangle rect = new Rectangle(); //设置图形区域
//方法
public DrawShape(int xint y)
{
this.setLineColor(Color.BLACK);
this.setPaintColor(null);
this.x1 = x;
this.y1 = y;
x2 = x1;
y2 = y1;
//this.setGraphicstyle(GraphicsOps.DRAW_NONE);
}
//绘制图形
//参数g表明图形上下文,filled表明是否进行填充
abstract public void draw(Graphics g);
//获得画线颜色
public Color getLineColor()
{
return lineColor;
}
//获得填充色
public Color getPaintColor()
{
return paintColor;
}
//设置画线颜色
public void setLineColor(Color lineColor)
{
this.lineColor = lineColor;
}
//设置填充色
public void setPaintColor(Color paintColor)
{
this.paintColor = paintColor;
}
//设置图形类型
public void setGraphicstyle(int shapeGraphic)
{
this.graphicstyle = shapeGraphic;
}
//设置图形为永久图形
public void setForever(boolean b)
{
forever = b;
}
//判断图形是否为永久图形
public boolean isForever()
{
return forever;
}
//设置图形的起点
public void setStart(int xint y)
{
this.x1 = x;
this.y1 = y;
}
//设置图形的终点
public void setEnd(int xint y)
{
this.x2 = x;
this.y2 = y;
}
//得到起点坐标
public Point getStart()
{
return new Point(x1y1);
}
//得到图形的区域边界
public Rectangle getBoundingBox()
{
rect.width = x2>x1 ? x2-x1 : x1-x2;
rect.height = y2>y1 ? y2-y1 : y1 - y2;
rect.x = x1 rect.y = y1
return rect;
}
}
/************************
*
* 定义绘制2D平面图形的类
*
*************************/
//定义画直线的类
class DrawLine extends DrawShape
{
//构造函数
public DrawLine(int xint y)
{
super(xy);
this.setGraphicstyle(GraphicsOps.DRAW_LINE);
}
//绘图函数
public void draw(Graphics g)
{
g.setColor(lineColor);
g.drawLine(x1y1x2y2);
}
}
//定义画矩形的类
class DrawRect extends DrawShape
{
public DrawRect(int x int y)
{
super(xy);
this.setGraphicstyle(GraphicsOps.DRAW_RECT);
}
public void draw(Graphics g)
{
int width = x1 int height = y1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 25271 2006-08-12 15:23 2D-Graphics\MainMenuBar.java
文件 7218 2006-08-12 15:15 2D-Graphics\MainToolBar.java
文件 6971 2006-08-11 10:41 2D-Graphics\Mainfr
文件 556 2006-08-07 15:57 2D-Graphics\Graphics.java
文件 8670 2006-08-12 14:31 2D-Graphics\Interfr
文件 8784 2006-08-12 14:09 2D-Graphics\ToolBox.java
文件 6247 2006-08-11 19:46 2D-Graphics\DrawGraphics.java
文件 16978 2006-08-12 11:52 2D-Graphics\GraphicShapeIcon.java
文件 44911 2006-08-21 08:04 2D-Graphics\Graphics.jar
文件 838 2006-08-12 15:23 2D-Graphics\drawing\Graphics.class
文件 2714 2006-08-12 15:23 2D-Graphics\drawing\GraphicsPane.class
文件 1213 2006-08-12 15:23 2D-Graphics\drawing\Mainfr
文件 7277 2006-08-12 15:23 2D-Graphics\drawing\MainMenuBar.class
文件 2196 2006-08-12 15:23 2D-Graphics\drawing\MainToolBar.class
文件 2248 2006-08-12 15:23 2D-Graphics\drawing\ToolBarAction.class
文件 4699 2006-08-12 15:23 2D-Graphics\drawing\Interfr
文件 1180 2006-08-12 15:23 2D-Graphics\drawing\MainMenuBar$1.class
文件 591 2006-08-12 15:23 2D-Graphics\drawing\MainMenuBar$2.class
文件 725 2006-07-29 09:59 2D-Graphics\drawing\MainToolBar$ToolBarAction.class
文件 1076 2006-08-12 15:23 2D-Graphics\drawing\MainMenuBar$3.class
文件 1077 2006-08-12 15:23 2D-Graphics\drawing\MainMenuBar$4.class
文件 856 2006-08-12 15:23 2D-Graphics\drawing\MainMenuBar$5.class
文件 860 2006-08-12 15:23 2D-Graphics\drawing\MainMenuBar$6.class
文件 852 2006-08-12 15:23 2D-Graphics\drawing\MainMenuBar$7.class
文件 3588 2006-08-12 15:23 2D-Graphics\drawing\ToolBox.class
文件 1016 2006-08-02 08:53 2D-Graphics\drawing\TabbedPages.class
文件 635 2006-08-12 15:23 2D-Graphics\drawing\MainMenuBar$8.class
文件 640 2006-08-12 15:23 2D-Graphics\drawing\MainMenuBar$9.class
文件 1777 2006-08-12 15:23 2D-Graphics\drawing\DrawShape.class
文件 564 2006-08-12 15:23 2D-Graphics\drawing\DrawLine.class
............此处省略64个文件信息
相关资源
- java 毕业设计 进销存管理系统 源码
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
评论
共有 条评论