⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 minidrawpad.java~29~

📁 自制小画板!为JBUILDER版本。相当具有参考价值
💻 JAVA~29~
📖 第 1 页 / 共 4 页
字号:
package drawingpanel;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JToolBar;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JPopupMenu;
import java.awt.*;		//导入awt的类
import java.awt.geom.*;		//导入awt的geom类
import java.awt.event.*;	//导入awt事件的类
import javax.swing.*;		//导入swing的类
import javax.swing.event.*;	//导入swing事件的类
import java.io.*;		//导入输入输出的类
import java.util.*;
import java.awt.Dimension; //导入公共的类

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2008</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class MiniDrawPad extends JFrame {
    JPanel contentPane;
    BorderLayout borderLayout1 = new BorderLayout();
    JMenuBar jMenuBar1 = new JMenuBar();
    JMenu jMenuFile = new JMenu();
    JToolBar jToolBar = new JToolBar();
    ImageIcon image1 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "New.gif"));
    ImageIcon image2 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Open.gif"));
    ImageIcon image3 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Save.gif"));
    ImageIcon image4 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Pencil.gif"));
    ImageIcon image5 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Line.gif"));
    ImageIcon image6 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Rect.gif"));
    ImageIcon image7 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "fRect.gif"));
    ImageIcon image8 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Oval.gif"));
    ImageIcon image9 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "fOval.gif"));
    ImageIcon image10 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Circle.gif"));
    ImageIcon image11 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "fCircle.gif"));
    ImageIcon image12 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "RoundRect.gif"));
    ImageIcon image13 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "frRect.gif"));
    ImageIcon image14 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Rubber.gif"));
    ImageIcon image15 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "three.gif"));
    ImageIcon image16 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "fthree.gif"));
    ImageIcon image17 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "return.gif"));
    ImageIcon image18 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "again.gif"));
    ImageIcon image19 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Color.gif"));
    ImageIcon image20 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Stroke.gif"));
    ImageIcon image21 = new ImageIcon(drawingpanel.MiniDrawPad.class.getResource(
                "Word.gif"));
    JLabel statusBar = new JLabel();
    JButton Pencil = new JButton();
    JButton Line = new JButton();
    JButton Open = new JButton();
    JButton Save = new JButton();
    JButton New = new JButton();
    JButton Rect = new JButton();
    JButton fRect = new JButton();
    JButton Oval = new JButton();
    JButton fOval = new JButton();
    JButton Circle = new JButton();
    JButton fCircle = new JButton();
    JButton RoundRect = new JButton();
    JButton frRect = new JButton();
    JButton three = new JButton();
    JButton fthree = new JButton();
    JButton Rubber = new JButton();
    JButton Return = new JButton();
    JButton Again = new JButton();
    JButton Color1 = new JButton();
    JButton Stroke = new JButton();
    JButton Word = new JButton();
    JCheckBox blod = new JCheckBox();
    JCheckBox italic = new JCheckBox();
    JMenuItem jMenuFileNew = new JMenuItem();
    JMenuItem jMenuFileOpen = new JMenuItem();
    JMenuItem jMenuFileSave = new JMenuItem();
    JMenuItem jMenuFileExit = new JMenuItem();
    JMenu jMenuColor = new JMenu();
    JMenuItem jMenuColorChoose = new JMenuItem();
    JMenu jMenuStroke = new JMenu();
    JMenuItem jMenuStrokeChoose = new JMenuItem();
    JMenu jMenuHelp = new JMenu();
    JMenuItem jMenuAbout = new JMenuItem();
    JPopupMenu jPopupMenu1 = new JPopupMenu();
    JMenuItem jMenuItem1 = new JMenuItem();
    JMenuItem jMenuItem2 = new JMenuItem();
    JMenuItem jMenuItem3 = new JMenuItem();
    DrawPanel drawingArea = new DrawPanel();
    private String styleNames[] = {					//字体选择
                        "宋体","隶书","华文彩云","仿宋_GB2312","华文行楷","黑体","幼圆","华文新魏",
                        "方正舒体","Times New Roman","Serif","Monospaced","Gulim","Comic Sans MS",
                        "SonsSerif","Garamond","Arial Black","Monotype Corsiva","Verdana"
        };
    private String styleSize[] = {					//字体大小
                          "1","2","3","4","5","6","7","8",
                          "9","10","11","12","13","14",
                          "15","20","30","40","50"
          };

    JComboBox style = new JComboBox(styleNames);
    JComboBox size = new JComboBox(styleSize);
    /**定义基本图形的数组**/
        drawings[] itemList = new drawings[5000];		//用来存放基本图形的数组
/**定义默认选项按钮为按钮3**/
        private int currentChoice = 3;					//设置默认画图状态为随笔画
/**定义图形个数为0**/
        int index = 0;									//当前已经绘制的图形数目
/**定义撤销和重画的标志计数器**/
        int x=0;										//撤销和重画的标志计数器

/**初始化画笔颜色为黑色**/
        private Color color = Color.black;		//画笔颜色,默认颜色为黑色
/**定义颜色变量R,G,B**/
        int R,G,B;										//用来存放当前色彩值

/**存放当前字体风格**/
        int f1,f2;										//用来存放当前字体风格
/**字体样式和大小**/
        String style1,size1;							//用来存放当前字体和大小
/**设置字体默认粗细为1.0f**/
        private float stroke = 1.0f;					//设置画笔粗细,默认值为1.0

        /**定义输入流**/
        private ObjectInputStream input;
/**定义输出流**/
        private ObjectOutputStream output;				//定义输入输出流,用来调用和保存图像文件


    public MiniDrawPad() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(borderLayout1);
        setSize(new Dimension(1024, 768));
        setTitle("05103079马啸天");
        statusBar.setText(" LABEL");
        jMenuFile.setText("文件(F)");
        Open.setToolTipText("打开");
        Open.setIcon(new ImageIcon(MiniDrawPad.class.getResource("Open.gif")));
        Save.setToolTipText("保存");
        Save.setIcon(new ImageIcon(MiniDrawPad.class.getResource("Save.gif")));
        New.setToolTipText("新建");
        New.setIcon(new ImageIcon(MiniDrawPad.class.getResource("New.gif")));
        Rect.setToolTipText("矩形");
        Rect.setIcon(new ImageIcon(MiniDrawPad.class.getResource("Rect.gif")));
        fRect.setToolTipText("填充矩形");
        fRect.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "fRect.gif")));
        Oval.setToolTipText("椭圆");
        Oval.setIcon(new ImageIcon(MiniDrawPad.class.getResource("Oval.gif")));
        fOval.setToolTipText("填充椭圆");
        fOval.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "fOval.gif")));
        Circle.setToolTipText("圆形");
        Circle.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "Circle.gif")));
        fCircle.setToolTipText("填充圆形");
        fCircle.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "fCircle.gif")));
        RoundRect.setToolTipText("圆角矩形");
        RoundRect.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "RoundRect.gif")));
        frRect.setToolTipText("填充圆角矩形");
        frRect.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "frRect.gif")));
        Pencil.setToolTipText("随笔画");
        Pencil.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "Pencil.gif")));
        Line.setToolTipText("直线");
        Line.setIcon(new ImageIcon(MiniDrawPad.class.getResource("Line.gif")));
        three.setToolTipText("三角形");
        three.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "three.gif")));
        Rubber.setToolTipText("橡皮");
        Rubber.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "Rubber.gif")));
        Again.setToolTipText("重画");
        Again.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "again.gif")));
        Word.setToolTipText("文字");
        Word.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "Word.gif")));
        fthree.setToolTipText("填充三角形");
        fthree.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "fthree.gif")));
        Return.setToolTipText("撤销");
        Return.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "return.gif")));
        Color1.setToolTipText("颜色");
        Color1.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "Color.gif")));
        Stroke.setToolTipText("粗细");
        Stroke.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
                "Stroke.gif")));
        blod.setToolTipText("粗体");
        blod.setText("BLOD");
        italic.setToolTipText("斜体");
        italic.setText("ITALIC");
        jMenuFileNew.setText("新建(N)");
        jMenuFileOpen.setText("打开(L)");
        jMenuFileSave.setText("保存(S)");
        jMenuFileExit.setText("退出(X)");
        jMenuFileExit.addActionListener(new
                                        MiniDrawPad_jMenuFileExit_actionAdapter(this));
        jMenuColor.setText("颜色(C)");
        jMenuColorChoose.setText("颜色选择(O)");
        jMenuStroke.setText("粗细(S)");
        jMenuStrokeChoose.setText("选择粗细(K)");
        jMenuHelp.setText("帮助(H)");
        jMenuAbout.setText("关于画板(A)");
        jMenuItem1.setText("选择颜色");
        jMenuItem2.setText("画笔粗细");
        jMenuItem3.setText("背景颜色");
        style.setToolTipText("字体样式");
        size.setToolTipText("字体大小");
        contentPane.setMinimumSize(new Dimension(1024, 768));
        contentPane.setPreferredSize(new Dimension(1024, 758));
        New.addActionListener(new MiniDrawPad_New_actionAdapter(this));
        Open.addActionListener(new MiniDrawPad_Open_actionAdapter(this));
        Save.addActionListener(new MiniDrawPad_Save_actionAdapter(this));
        Pencil.addActionListener(new MiniDrawPad_Pencil_actionAdapter(this));
        Line.addActionListener(new MiniDrawPad_Line_actionAdapter(this));
        Rect.addActionListener(new MiniDrawPad_Rect_actionAdapter(this));
        fRect.addActionListener(new MiniDrawPad_fRect_actionAdapter(this));
        Oval.addActionListener(new MiniDrawPad_Oval_actionAdapter(this));
        fOval.addActionListener(new MiniDrawPad_fOval_actionAdapter(this));
        Circle.addActionListener(new MiniDrawPad_Circle_actionAdapter(this));
        fCircle.addActionListener(new MiniDrawPad_fCircle_actionAdapter(this));
        RoundRect.addActionListener(new MiniDrawPad_RoundRect_actionAdapter(this));
        frRect.addActionListener(new MiniDrawPad_frRect_actionAdapter(this));
        three.addActionListener(new MiniDrawPad_three_actionAdapter(this));
        fthree.addActionListener(new MiniDrawPad_fthree_actionAdapter(this));
        Rubber.addActionListener(new MiniDrawPad_Rubber_actionAdapter(this));
        Return.addActionListener(new MiniDrawPad_Return_actionAdapter(this));
        Again.addActionListener(new MiniDrawPad_Again_actionAdapter(this));
        Word.addActionListener(new MiniDrawPad_Word_actionAdapter(this));
        Color1.addActionListener(new MiniDrawPad_Color1_actionAdapter(this));
        Stroke.addActionListener(new MiniDrawPad_Stroke_actionAdapter(this));
        jMenuItem1.addActionListener(new MiniDrawPad_jMenuItem1_actionAdapter(this));
        jMenuItem2.addActionListener(new MiniDrawPad_jMenuItem2_actionAdapter(this));
        jMenuItem3.addActionListener(new MiniDrawPad_jMenuItem3_actionAdapter(this));
        jMenuFileNew.addActionListener(new
                                       MiniDrawPad_jMenuFileNew_actionAdapter(this));
        jMenuFileOpen.addActionListener(new
                                        MiniDrawPad_jMenuFileOpen_actionAdapter(this));
        jMenuFileSave.addActionListener(new
                                        MiniDrawPad_jMenuFileSave_actionAdapter(this));
        jMenuColorChoose.addActionListener(new
                MiniDrawPad_jMenuColorChoose_actionAdapter(this));
        jMenuStrokeChoose.addActionListener(new
                MiniDrawPad_jMenuStrokeChoose_actionAdapter(this));
        jMenuAbout.addActionListener(new MiniDrawPad_jMenuAbout_actionAdapter(this));
        blod.addActionListener(new MiniDrawPad_blod_actionAdapter(this));
        blod.addItemListener(new MiniDrawPad_blod_itemAdapter(this));
        italic.addItemListener(new MiniDrawPad_italic_itemAdapter(this));
        style.addItemListener(new MiniDrawPad_style_itemAdapter(this));
        size.addItemListener(new MiniDrawPad_size_itemAdapter(this));
        jMenuBar1.add(jMenuFile);
        jMenuBar1.add(jMenuColor);
        jMenuBar1.add(jMenuStroke);
        jMenuBar1.add(jMenuHelp);
        setJMenuBar(jMenuBar1);
        jToolBar.add(New);
        jToolBar.add(Open);
        jToolBar.add(Save);
        jToolBar.add(Pencil);
        jToolBar.add(Line);
        jToolBar.add(Rect);
        jToolBar.add(fRect);
        jToolBar.add(Oval);
        jToolBar.add(fOval);
        jToolBar.add(Circle);
        jToolBar.add(size);
        jToolBar.add(fCircle);
        jToolBar.add(RoundRect);
        jToolBar.add(frRect);
        jToolBar.add(three);
        jToolBar.add(fthree);
        jToolBar.add(Rubber);
        jToolBar.add(Return);
        jToolBar.add(Again);
        jToolBar.add(Color1);
        jToolBar.add(Stroke);
        jToolBar.add(Word);
        jToolBar.add(blod);
        jToolBar.add(italic);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -