?? minidrawpad.java
字號:
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 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[] = { //字體選擇
"宋體","隸書","華文彩云","方正舒體","Times New Roman",
"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(800, 600));
setTitle("學號");
statusBar.setText(" ");
jMenuFile.setText("File");
Open.setToolTipText("Open");
Open.setIcon(new ImageIcon(MiniDrawPad.class.getResource("Open.gif")));
Save.setToolTipText("Save");
Save.setIcon(new ImageIcon(MiniDrawPad.class.getResource("Save.gif")));
New.setToolTipText("New");
New.setIcon(new ImageIcon(MiniDrawPad.class.getResource("New.gif")));
Rect.setToolTipText("Rect");
Rect.setIcon(new ImageIcon(MiniDrawPad.class.getResource("Rect.gif")));
fRect.setToolTipText("fRect");
fRect.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"fRect.gif")));
Oval.setToolTipText("Oval");
Oval.setIcon(new ImageIcon(MiniDrawPad.class.getResource("Oval.gif")));
fOval.setToolTipText("fOval");
fOval.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"fOval.gif")));
Circle.setToolTipText("Circle");
Circle.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"Circle.gif")));
fCircle.setToolTipText("fCircle");
fCircle.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"fCircle.gif")));
RoundRect.setToolTipText("RoundRect");
RoundRect.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"RoundRect.gif")));
frRect.setToolTipText("frRect");
frRect.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"frRect.gif")));
Pencil.setToolTipText("Pencil");
Pencil.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"Pencil.gif")));
Line.setToolTipText("Line");
Line.setIcon(new ImageIcon(MiniDrawPad.class.getResource("Line.gif")));
three.setToolTipText("Tripple");
three.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"three.gif")));
Rubber.setToolTipText("Rubber");
Rubber.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"Rubber.gif")));
Word.setToolTipText("Word");
Word.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"Word.gif")));
fthree.setToolTipText("fTripple");
fthree.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"fthree.gif")));
Color1.setToolTipText("Color");
Color1.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"Color.gif")));
Stroke.setToolTipText("Stroke");
Stroke.setIcon(new ImageIcon(MiniDrawPad.class.getResource(
"Stroke.gif")));
blod.setToolTipText("BLOD");
blod.setText("BLOD");
italic.setToolTipText("ITALIC");
italic.setText("ITALIC");
jMenuFileNew.setText("New");
jMenuFileOpen.setText("Load");
jMenuFileSave.setText("Save");
jMenuFileExit.setText("Exit");
jMenuFileExit.addActionListener(new
MiniDrawPad_jMenuFileExit_actionAdapter(this));
jMenuColor.setText("Color");
jMenuColorChoose.setText("ChooseColor");
jMenuStroke.setText("Stroke");
jMenuStrokeChoose.setText("SetStroke");
jMenuHelp.setText("Help");
jMenuAbout.setText("About");
jMenuItem1.setText("Color");
jMenuItem2.setText("Stroke");
jMenuItem3.setText("Background");
style.setToolTipText("Style");
contentPane.setMinimumSize(new Dimension(800, 600));
contentPane.setPreferredSize(new Dimension(800, 600));
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));
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(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 + -