资源简介
Java Swing写的一个手绘小程序,可适合新手学习!自由拓展!

代码片段和文件信息
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.imageio.*;
import javax.swing.filechooser.*;
import java.awt.datatransfer.*;
import java.io.*;
public class HandDrawSwing {
//设置画布大小
private int DRAW_WIDTH = 500;
private int DRAW_HEIGHT = 500;
private Jframe jf = new Jframe(“简单手绘程序“);
private JMenuBar jmb = new JMenuBar();
private JMenu file = new JMenu(“文件“);
private JMenu edit = new JMenu(“编辑“);
private Icon newIcon = new ImageIcon(“icons/doc_new.png“);
private JMenuItem newItem = new JMenuItem(“新建“ newIcon);
private Icon openIcon = new ImageIcon(“icons/folder_open.png“);
private JMenuItem openItem = new JMenuItem(“打开“ openIcon);
private Icon saveIcon = new ImageIcon(“icons/doc_export.png“);
private JMenuItem saveItem = new JMenuItem(“保存“ saveIcon);
private Icon closeIcon = new ImageIcon(“icons/on-off.png“);
private JMenuItem closeItem = new JMenuItem(“关闭“ closeIcon);
private JPopupMenu pop = new JPopupMenu();
//添加一个颜色选择对话框
private JColorChooser colorChooser = new JColorChooser();
//记录最后一次鼠标的坐标位置
private int preX = -1;
private int preY = -1;
//创建一个JToolBar工具箱
private JToolBar jtb = new JToolBar(“工具箱“);
//保存画笔颜色
Color foreColor = new Color(255 0 0);
//创建一个系统剪切板
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
//创建一个缓存图像的实例
BufferedImage image = new BufferedImage(DRAW_WIDTH DRAW_HEIGHT BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
private DrawCanvas drawArea = new DrawCanvas();
//创建复制粘贴的动作实例
private Icon copyIcon = new ImageIcon(“icons/clipboard_copy.png“);
private Action copyAction = new AbstractAction(“复制“ copyIcon) {
public void actionPerformed(ActionEvent e) {
ImageSelection imageS = new ImageSelection(image);
try {
clipboard.setContents(imageS null);
}
catch(Exception ex) {
ex.printStackTrace();
}
}
};
private Icon pasteIcon = new ImageIcon(“icons/clipboard_past.png“);
private Action pasteAction = new AbstractAction(“粘贴“ pasteIcon) {
public void actionPerformed(ActionEvent e) {
if(clipboard.isDataFlavorAvailable(DataFlavor.imageFlavor)) {
try {
Image tmpImage = (Image)clipboard.getData(DataFlavor.imageFlavor);
g.setColor(new Color(255 255 255));
g.fillRect(0 0 DRAW_WIDTH DRAW_HEIGHT);
g.drawImage(tmpImage 0 0 null);
drawArea.repaint();
//恢复画笔颜色
g.setColor(foreColor);
}
catch(Exception ex) {
ex.printStackTrace();
}
}
}
};
//创造一个选择颜色的动作实例
private Icon chooseIcon = new ImageIcon(“icons/burst.png“);
private Action chooseColor = new AbstractAction(“选择颜色...“ chooseIcon) {
public void actionPerformed(ActionEvent e) {
try {
foreColor = colorChooser.showDialog(jf “选择画笔颜色“ foreColor);
}
catch(Exception ex) {
ex.printStackTrace();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-04-12 20:02 HandDraw\
文件 1038 2014-04-12 20:00 HandDraw\HandDrawSwing$1.class
文件 1666 2014-04-12 20:00 HandDraw\HandDrawSwing$2.class
文件 1013 2014-04-12 20:00 HandDraw\HandDrawSwing$3.class
文件 528 2014-04-12 20:00 HandDraw\HandDrawSwing$4.class
文件 2013 2014-04-12 20:00 HandDraw\HandDrawSwing$5.class
文件 1950 2014-04-12 20:00 HandDraw\HandDrawSwing$6.class
文件 548 2014-04-12 20:00 HandDraw\HandDrawSwing$7.class
文件 1152 2014-04-12 20:00 HandDraw\HandDrawSwing$8.class
文件 559 2014-04-12 20:00 HandDraw\HandDrawSwing$9.class
文件 588 2014-04-12 20:00 HandDraw\HandDrawSwing$DrawCanvas.class
文件 7065 2014-04-12 20:00 HandDraw\HandDrawSwing.class
文件 8181 2014-04-12 20:00 HandDraw\HandDrawSwing.java
文件 963 2014-04-12 20:00 HandDraw\ImageSelection.class
文件 828 2014-04-12 20:00 HandDraw\ImageSelection.java
目录 0 2014-04-11 16:35 HandDraw\icons\
文件 3337 2010-01-03 21:33 HandDraw\icons\burst.png
文件 3296 2010-01-03 21:33 HandDraw\icons\checkmark.png
文件 3213 2010-01-03 21:33 HandDraw\icons\clipboard_copy.png
文件 3231 2010-01-03 21:33 HandDraw\icons\clipboard_past.png
文件 3326 2010-01-03 21:33 HandDraw\icons\doc_export.png
文件 3280 2010-01-03 21:33 HandDraw\icons\doc_new.png
文件 3213 2010-01-03 21:33 HandDraw\icons\folder_open.png
文件 3365 2010-01-03 21:33 HandDraw\icons\on-off.png
相关资源
- Windows bat 设置Java环境变量
- 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期末考试试题两套(答案) 选择(
评论
共有 条评论