资源简介
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
相关资源
- vbTOjava瞬间变java代码
- 基于java开发的公交信息管理系统.do
- 网络编程实验:HTTP服务器 java实现
- Rxjava+retrofit的简单使用demo
- java实现计算机图形学直线和圆的绘制
- Springboot企业微信外卖系统JAVA+百度永
- java写的聊天工具
- 酒店管理系统java
- java实现几何图形课程设计
- java实现文件加密解密
- Java web 调查问卷
- JavaMagic_v0.60b
- Java上传专有云oss
- 微信退款demo java版
- Java财务管理系统
- 基于Java的人事管理系统的设计与实现
- Java开发企业级权限管理系统
- javaSE商品管理系统
- 用java制作彩色代码雨
- 重庆大学java语言程序设计模拟试题
- java简单计算器源代码
- java微信模板消息推送,客服消息推送
- MsmqJava.dll64位和源代码
- 围棋源代码java
- XSS检测原型系统
- 动物识别Java实现含界面
- Java实现野人过河问题含界面
- javamail jar包
- 数据结构(超详细!!!java版本)
- 简单的数字签名系统
评论
共有 条评论