📄 minidrawpad.java~27~
字号:
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"
};
JComboBox style = new JComboBox(styleNames);
/**定义基本图形的数组**/
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("字体样式");
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));
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(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);
jToolBar.add(style);
contentPane.add(jToolBar, java.awt.BorderLayout.NORTH);
jMenuFile.add(jMenuFileNew);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -