• 大小: 27KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: Java
  • 标签: Java  Swing  

资源简介

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

评论

共有 条评论