资源简介
java 小小绘图板 各种图形的绘制和文字的写入,也可以调整文字画笔的粗细 。还可以保存图像
代码片段和文件信息
package minidrawpad;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.MouseMotionAdapter;
//绘图区类(各种图形的绘制和鼠标事件)
public class DrawArea extends JPanel{
DrawPad drawpad =null;
Drawing[] itemList =new Drawing[5000];; //绘制图形类
private int currentChoice = 3;//设置默认基本图形状态为随笔画
int index = 0;//当前已经绘制的图形数目
private Color color = Color.black;//当前画笔的颜色
int RGB;//用来存放当前颜色的彩值
int f1f2;//用来存放当前字体的风格
String stytle ;//存放当前字体
float stroke = 1.0f;//设置画笔的粗细 ,默认的是 1.0
DrawArea(DrawPad dp) {
drawpad = dp;
// 把鼠标设置成十字形
setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
// setCursor 设置鼠标的形状 ,getPredefinedCursor()返回一个具有指定类型的光标的对象
setBackground(Color.white);// 设置绘制区的背景是白色
addMouseListener(new MouseA());// 添加鼠标事件
addMouseMotionListener(new MouseB());
createNewitem();
}
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;//定义随笔画
int j = 0;
while(j<=index)
{
draw(g2ditemList[j]);
j++;
}
}
void draw(Graphics2D g2d Drawing i)
{
i.draw(g2d);//将画笔传到个各类的子类中,用来完成各自的绘图
}
//新建一个图形的基本单元对象的程序段
void createNewitem(){
if(currentChoice == 14)//字体的输入光标相应的设置为文本输入格式
setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));
else setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
switch(currentChoice){
case 3: itemList[index] = new Pencil();break;
case 4: itemList[index] = new Line();break;
case 5: itemList[index] = new Rect();break;
case 6: itemList[index] = new fillRect();break;
case 7: itemList[index] = new Oval();break;
case 8: itemList[index] = new fillOval();break;
case 9: itemList[index] = new Circle();break;
case 10: itemList[index] = new fillCircle();break;
case 11: itemList[index] = new RoundRect();break;
case 12: itemList[index] = new fillRoundRect();break;
case 13: itemList[index] = new Rubber();break;
case 14: itemList[index] = new Word();break;
}
itemList[index].type = currentChoice;
itemList[index].R = R;
itemList[index].G = G;
itemList[index].B = B;
itemList[index].stroke = stroke ;
}
public void setIndex(int x){//设置index的接口
index = x;
}
public int getIndex(){//设置index的接口
return index ;
}
public void setColor(Color color)//设置颜色的值
{
this.color = color;
}
public void setStroke(float f)//设置画笔粗细的接口
{
stroke = f;
}
public void chooseColor()//选择当前颜色
{
color = JColorChooser.showDialog(drawpad “请选择颜色“ color);
try {
R = color.getRed();
G = color.getGreen();
B = color.getBlue();
} catch (Exception e) {
R = 0;
G = 0;
B = 0;
}
itemList[index].R = R;
itemList[index].G = G;
itemList[index].B = B;
}
public void setStroke()//画笔粗细的调整
{
String input ;
input = JOptionPane.showInputDialog(“请输入画笔的粗细
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-05-19 17:42 新建文件夹\
文件 38339 2009-12-17 00:02 新建文件夹\小小绘图板.jar
目录 0 2010-05-19 17:42 新建文件夹\画图板\
文件 413 2009-12-24 11:06 新建文件夹\画图板\.classpath
文件 576 2009-12-24 11:06 新建文件夹\画图板\.project
目录 0 2010-05-19 17:42 新建文件夹\画图板\.settings\
文件 629 2009-12-12 16:36 新建文件夹\画图板\.settings\org.eclipse.jdt.core.prefs
目录 0 2010-05-19 17:42 新建文件夹\画图板\bin\
目录 0 2010-05-19 17:42 新建文件夹\画图板\bin\icon\
文件 939 2009-12-12 23:38 新建文件夹\画图板\bin\icon\circle.jpg
文件 927 2009-12-13 00:12 新建文件夹\画图板\bin\icon\color.jpg
文件 821 2009-12-12 23:38 新建文件夹\画图板\bin\icon\fcircle.jpg
文件 749 2009-12-12 23:37 新建文件夹\画图板\bin\icon\foval.jpg
文件 751 2009-12-12 23:33 新建文件夹\画图板\bin\icon\frect.jpg
文件 793 2009-12-12 23:43 新建文件夹\画图板\bin\icon\froundrect.jpg
文件 854 2009-12-12 23:30 新建文件夹\画图板\bin\icon\line.jpg
文件 919 2009-12-12 22:34 新建文件夹\画图板\bin\icon\newfile.jpg
文件 1078 2009-12-12 22:34 新建文件夹\画图板\bin\icon\openfile.jpg
文件 838 2009-12-12 23:36 新建文件夹\画图板\bin\icon\oval.jpg
文件 900 2009-12-12 23:27 新建文件夹\画图板\bin\icon\pen.jpg
文件 809 2009-12-12 23:32 新建文件夹\画图板\bin\icon\rect.jpg
文件 898 2009-12-12 23:42 新建文件夹\画图板\bin\icon\roundrect.jpg
文件 879 2009-12-12 23:49 新建文件夹\画图板\bin\icon\rubber.jpg
文件 917 2009-12-12 22:34 新建文件夹\画图板\bin\icon\savefile.jpg
文件 879 2009-12-13 00:00 新建文件夹\画图板\bin\icon\stroke.jpg
文件 807 2009-12-12 23:56 新建文件夹\画图板\bin\icon\word.jpg
目录 0 2010-05-19 17:42 新建文件夹\画图板\bin\minidrawpad\
文件 978 2009-12-24 11:35 新建文件夹\画图板\bin\minidrawpad\Circle.class
文件 2782 2009-12-24 11:35 新建文件夹\画图板\bin\minidrawpad\DrawArea$MouseA.class
文件 1761 2009-12-24 11:35 新建文件夹\画图板\bin\minidrawpad\DrawArea$MouseB.class
文件 4641 2009-12-24 11:35 新建文件夹\画图板\bin\minidrawpad\DrawArea.class
............此处省略43个文件信息
相关资源
- 微博系统(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编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论