资源简介
一个用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+SQL
- 耿祥义--JAVA课程设计
-
Java sc
ript经典教程一——从入门到精 - java实现柱状图
- 动物园java代码
- java工程师亚信面试题
- Java 二十四点程序 24点程序 加减乘除
- 一个自己用JAVA实现的简单ARMA建模
- Java开发的毕业设计-财务管理系统
- 基于java swing随机抽签程序第二版 by
- 基于java swing的随机抽签程序 by Empty
- JAVA SWT学生信息管理系统
- itext目录生成的一种方法
- java版 跳棋源码swing
- java的23种设计模式视频---免费共享
- 各种Hash函数JAVA版
- java将bmp格式文件转换成jpg
- 中信Java笔试题中信Java笔试题
- 可靠UDP传输(java)
- 一个简单JAVA+SQL的库存管理系统
- Java记事本-Java程序设计作业
- 合肥工业大学Java实验源代码
- EclipseIDEforJavaEEDevelopers百度云地址.t
- 基于Java+sql教师信息管理系统课设报告
- java实现文件复制
- 合工大java程序设计实验,货物管理系
- Java学生成绩管理系统源码.txt
- 分数计算器界面设计
- java电子相册
- java实验七
评论
共有 条评论