Java绘画板源码_Java 绘图板 示例源码下载(画板)

本文提供了一个简单的Java绘图板的源码示例,包括直线、矩形、椭圆等基本图形的绘制。每个图形类都继承自同一个抽象类Drawing,并实现了Graphics2D接口,支持颜色、线条样式等属性的定制。源码下载地址:https://www.codedown123.com/36795.html
摘要由CSDN通过智能技术生成

Java 绘图板 示例源码下载(画板)

java

2020-8-21

下载地址

https://www.codedown123.com/36795.html

package minidrawpad;

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics2D;

import java.io.Serializable;

//图形绘制类 用于绘制各种图形

//父类,基本图形单元,用到串行的接口,保存使用到

//公共的属性放到超类中,子类可以避免重复定义

/*类通过实现 java.io.Serializable 接口以启用其序列化功能。

未实现此接口的类将无法使其任何状态序列化或反序列化。

可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,

仅用于标识可序列化的语义。*/

public class Drawing implements Serializable {

int x1,x2,y1,y2; //定义坐标属性

int R,G,B;//定义色彩属性

float stroke ;//定义线条粗细的属性

int type;//定义字体属性

String s1;//定义字体的风格

String s2;//定义字体的风格

void draw(Graphics2D g2d ){}//定义绘图函数

}

class Line extends Drawing//直线类

{

void draw(Graphics2D g2d) {

g2d.setPaint(new Color(R, G, B));// 为 Graphics2D 上下文设置 Paint 属性。

// 使用为 null 的 Paint 对象调用此方法对此 Graphics2D 的当前 Paint 属性没有任何影响。

g2d.setStroke(new BasicStroke(stroke, BasicStroke.CAP_ROUND,

BasicStroke.JOIN_BEVEL));

// setStroke(Stroke s)为 Graphics2D 上下文设置 Stroke

// BasicStroke 类定义针对图形图元轮廓呈现属性的一个基本集合

// BasicStroke.CAP_ROUND使用半径等于画笔宽度一半的圆形装饰结束未封闭的子路径和虚线线段

// BasicStroke.JOIN_BEVEL通过直线连接宽体轮廓的外角,将路径线段连接在一起。

g2d.drawLine(x1, y1, x2, y2);// 画直线

}

}

class Rect extends Drawing{//矩形类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(R,G,B));

g2d.setStroke(new BasicStroke(stroke));

g2d.drawRect(Math.min(x1, x2), Math.min(y2, y2), Math.abs(x1-x2), Math.abs(y1-y2));

}

}

class fillRect extends Drawing{//实心矩形类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(R,G,B));

g2d.setStroke(new BasicStroke(stroke));

g2d.fillRect(Math.min(x1, x2), Math.min(y2, y2), Math.abs(x1-x2), Math.abs(y1-y2));

}

}

class Oval extends Drawing{//椭圆类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(R,G,B));

g2d.setStroke(new BasicStroke(stroke));

g2d.drawOval(Math.min(x1, x2), Math.min(y2, y2), Math.abs(x1-x2), Math.abs(y1-y2));

}

}

class fillOval extends Drawing{//实心椭圆类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(R,G,B));

g2d.setStroke(new BasicStroke(stroke));

g2d.fillOval(Math.min(x1, x2), Math.min(y2, y2), Math.abs(x1-x2), Math.abs(y1-y2));

}

}

class Circle extends Drawing{//矩形类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(R,G,B));

g2d.setStroke(new BasicStroke(stroke));

g2d.drawOval(Math.min(x1, x2), Math.min(y2, y2), Math.max(Math.abs(x1-x2),

Math.abs(y1-y2)), Math.max(Math.abs(x1-x2), Math.abs(y1-y2)));

}

}

class fillCircle extends Drawing{//实心圆类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(R,G,B));

g2d.setStroke(new BasicStroke(stroke));

g2d.fillOval(Math.min(x1, x2), Math.min(y2, y2), Math.max(Math.abs(x1-x2),

Math.abs(y1-y2)), Math.max(Math.abs(x1-x2), Math.abs(y1-y2)));

}

}

class RoundRect extends Drawing{//圆角矩形类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(R,G,B));

g2d.setStroke(new BasicStroke(stroke));

g2d.drawRoundRect(Math.min(x1, x2), Math.min(y2, y2),Math.abs(x1-x2), Math.abs(y1-y2),50,35);

}

}

class fillRoundRect extends Drawing{//实心圆角矩形类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(R,G,B));

g2d.setStroke(new BasicStroke(stroke));

g2d.fillRoundRect(Math.min(x1, x2), Math.min(y2, y2),Math.abs(x1-x2), Math.abs(y1-y2),50,35);

}

}

class Pencil extends Drawing{//随笔画类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(R,G,B));

g2d.setStroke(new BasicStroke(stroke,BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL));

g2d.drawLine(x1, y1,x2, y2);

}

}

class Rubber extends Drawing{//橡皮擦类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(255,255,255));//白色

g2d.setStroke(new BasicStroke(stroke 4,BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL));

g2d.drawLine(x1, y1,x2, y2);

}

}

class Word extends Drawing{//输入文字类

void draw(Graphics2D g2d ){

g2d.setPaint(new Color(R,G,B));

g2d.setFont(new Font(s2,x2 y2,((int)stroke)*18));//设置字体

if(s1 != null)

g2d.drawString( s1, x1,y1);

}

}

资源文件列表

╨┬╜¿╬─╝■╝╨/╨í╨í╗µ═╝░σ.jar , 38339

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/.classpath , 413

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/.project , 576

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/.settings/org.eclipse.jdt.core.prefs , 629

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/circle.jpg , 939

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/color.jpg , 927

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/fcircle.jpg , 821

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/foval.jpg , 749

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/frect.jpg , 751

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/froundrect.jpg , 793

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/line.jpg , 854

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/newfile.jpg , 919

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/openfile.jpg , 1078

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/oval.jpg , 838

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/pen.jpg , 900

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/rect.jpg , 809

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/roundrect.jpg , 898

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/rubber.jpg , 879

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/savefile.jpg , 917

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/stroke.jpg , 879

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/icon/word.jpg , 807

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/Circle.class , 978

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/DrawArea$MouseA.class , 2782

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/DrawArea$MouseB.class , 1761

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/DrawArea.class , 4641

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/Drawing.class , 604

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/DrawPad$CheckBoxHandler.class , 1394

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/DrawPad.class , 8962

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/FileClass.class , 4015

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/fillCircle.class , 986

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/fillOval.class , 928

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/fillRect.class , 928

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/fillRoundRect.class , 949

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/Help.class , 822

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/Line.class , 835

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/MiniDrawPad.class , 538

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/Oval.class , 920

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/Pencil.class , 831

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/Rect.class , 920

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/RoundRect.class , 941

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/Rubber.class , 794

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/bin/minidrawpad/Word.class , 925

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/circle.jpg , 939

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/color.jpg , 927

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/fcircle.jpg , 821

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/foval.jpg , 749

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/frect.jpg , 751

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/froundrect.jpg , 793

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/line.jpg , 854

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/newfile.jpg , 919

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/openfile.jpg , 1078

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/oval.jpg , 838

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/pen.jpg , 900

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/rect.jpg , 809

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/roundrect.jpg , 898

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/rubber.jpg , 879

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/savefile.jpg , 917

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/stroke.jpg , 879

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/icon/word.jpg , 807

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/minidrawpad/DrawArea.java , 6467

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/minidrawpad/Drawing.java , 4325

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/minidrawpad/DrawPad.java , 9178

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/minidrawpad/FileClass.java , 4142

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/minidrawpad/Help.java , 611

╨┬╜¿╬─╝■╝╨/╗¡═╝░σ/src/minidrawpad/MiniDrawPad.java , 464

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值