?? mainframe.java~225~
字號:
package multimediademo;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import javax.swing.border.*;
import java.lang.*;
import java.applet.*;
import java.io.*;
import java.net.*;
import java.awt.image.*;
import multimediademo.DemoThread;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class MainFrame extends JFrame {
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenuItem newFileItem = new JMenuItem();
JMenuItem exitSystemItem = new JMenuItem();
JMenu jMenu2 = new JMenu();
JMenuItem drawLineItem = new JMenuItem();
JMenuItem drawRoundItem = new JMenuItem();
JMenuItem drawEllipseItem = new JMenuItem();
JMenuItem drawFillOvalItem = new JMenuItem();
JMenuItem drawRectangleItem = new JMenuItem();
JMenu jMenu3 = new JMenu();
JMenu jMenu4 = new JMenu();
JMenuItem zoomHerizonDemoItem = new JMenuItem();
JMenuItem audioFileOpenItem = new JMenuItem();
JMenuItem playAudioItem = new JMenuItem();
JMenuItem openImageFileItem = new JMenuItem();
JToolBar jToolBar1 = new JToolBar();
TitledBorder titledBorder1;
TitledBorder titledBorder2;
JScrollPane jScrollPane1 = new JScrollPane();
//Define the variables
int lineType = 0; //set the line type
Point p1,p2; //p1 and p2 are corresponding to mouse_press and mouse_released,respective
Graphics g;
Color colour = new Color(122,122,122);
URL musicURL;
URL imageURL;
String imageName;
Image image;
DemoThread thread;
AudioClip music;
//System code
JMenuItem drawRandomItem = new JMenuItem();
JButton roundBtn = new JButton();
JButton ellipseBtn = new JButton();
JButton lineBtn = new JButton();
JButton fillRoundBtn = new JButton();
JButton rectBtn = new JButton();
JButton randomLineBtn = new JButton();
JButton newFileBtn = new JButton();
JButton fileSaveBtn = new JButton();
JButton exitBtn = new JButton();
JButton colorBtn = new JButton();
JMenuItem abortAudioItem = new JMenuItem();
JMenuItem stopDemoItem = new JMenuItem();
JMenuItem noEraseHerezonDemoItem = new JMenuItem();
JButton textWriteBtn = new JButton();
BorderLayout borderLayout1 = new BorderLayout();
JMenuItem writeTextItem = new JMenuItem();
JMenuItem lightInOutDemoItem = new JMenuItem();
JMenuItem pauseDemoItem = new JMenuItem();
JMenuItem resumeDemoItem = new JMenuItem();
//Construct the frame
public MainFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
titledBorder1 = new TitledBorder("");
titledBorder2 = new TitledBorder("");
//將主窗口設(shè)置到屏幕大小
// Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
// this.setSize(screenSize);
this.setSize(new Dimension(600,400));
jMenu2.setFont(new java.awt.Font("Dialog", 0, 20));
drawLineItem.setFont(new java.awt.Font("Dialog", 0, 20));
drawRoundItem.setFont(new java.awt.Font("Dialog", 0, 20));
drawRectangleItem.setFont(new java.awt.Font("Dialog", 0, 20));
drawEllipseItem.setFont(new java.awt.Font("Dialog", 0, 20));
drawFillOvalItem.setFont(new java.awt.Font("Dialog", 0, 20));
jMenuBar1.setFont(new java.awt.Font("Dialog", 0, 20));
jMenu3.setFont(new java.awt.Font("Dialog", 0, 20));
jMenu3.setText("動畫制作");
jMenu4.setFont(new java.awt.Font("Dialog", 0, 20));
jMenu4.setText("聲音播放");
zoomHerizonDemoItem.setFont(new java.awt.Font("Dialog", 0, 20));
zoomHerizonDemoItem.setText("縮放平移動畫");
zoomHerizonDemoItem.addActionListener(new MainFrame_zoomHerizonDemoItem_actionAdapter(this));
audioFileOpenItem.setFont(new java.awt.Font("Dialog", 0, 20));
audioFileOpenItem.setText("打開文件");
audioFileOpenItem.addActionListener(new MainFrame_audioFileOpenItem_actionAdapter(this));
playAudioItem.setFont(new java.awt.Font("Dialog", 0, 20));
playAudioItem.setText("播放");
playAudioItem.addActionListener(new MainFrame_playAudioItem_actionAdapter(this));
openImageFileItem.setFont(new java.awt.Font("Dialog", 0, 20));
openImageFileItem.setText("選擇動畫文件");
openImageFileItem.addActionListener(new MainFrame_openImageFileItem_actionAdapter(this));
jToolBar1.setOrientation(JToolBar.HORIZONTAL);
jToolBar1.setBorder(BorderFactory.createEtchedBorder());
jToolBar1.setDebugGraphicsOptions(DebugGraphics.NONE_OPTION);
jToolBar1.setVerifyInputWhenFocusTarget(true);
jToolBar1.setBorderPainted(true);
contentPane.setVerifyInputWhenFocusTarget(true);
contentPane.setLayout(borderLayout1);
this.setTitle("MainFrame");
jMenu1.setFont(new java.awt.Font("Dialog", 0, 20));
jMenu1.setText("文件");
exitSystemItem.setFont(new java.awt.Font("Dialog", 0, 20));
exitSystemItem.setText("退出");
exitSystemItem.addActionListener(new MainFrame_exitSystemItem_actionAdapter(this));
newFileItem.setFont(new java.awt.Font("Dialog", 0, 20));
newFileItem.setText("新建");
jMenu2.setText("圖形繪制");
drawLineItem.setText("畫直線");
drawLineItem.addActionListener(new MainFrame_drawLineItem_actionAdapter(this));
drawRoundItem.setText("畫圓");
drawRoundItem.addActionListener(new MainFrame_drawRoundItem_actionAdapter(this));
drawEllipseItem.setText("畫橢圓");
drawEllipseItem.addActionListener(new MainFrame_drawEllipseItem_actionAdapter(this));
drawFillOvalItem.setText("畫填充圓");
drawFillOvalItem.addActionListener(new MainFrame_drawFillOvalItem_actionAdapter(this));
drawRectangleItem.setText("畫矩形");
drawRectangleItem.addActionListener(new MainFrame_drawRectangleItem_actionAdapter(this));
jScrollPane1.addMouseListener(new MainFrame_jScrollPane1_mouseAdapter(this));
jScrollPane1.addMouseMotionListener(new MainFrame_jScrollPane1_mouseMotionAdapter(this));
drawRandomItem.setFont(new java.awt.Font("Dialog", 0, 20));
drawRandomItem.setText("畫任意曲線");
drawRandomItem.addActionListener(new MainFrame_drawRandomItem_actionAdapter(this));
//set imageIcon
ImageIcon lineImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\line.gif");
ImageIcon roundImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\round.gif");
ImageIcon ellipseImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\ellipse.gif");
ImageIcon fillRoundImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\fillRound.gif");
ImageIcon rectImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\rectangle.gif");
ImageIcon randomLineImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\randomLine.gif");
// ImageIcon openImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\open.gif");
ImageIcon newImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\new1.gif");
ImageIcon exitImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\exit.gif");
ImageIcon colorImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\color.gif");
ImageIcon textImage = new ImageIcon("E:\\MCG\\WRITING\\JBuilder\\MultimediaDemo\\text2.gif");
//初始化資源定位和線程
musicURL = null;
imageURL = null;
imageName = null;
thread = null;
//設(shè)置默認(rèn)聲音和圖像文件
//initializeAudioImage();
//system code
roundBtn.setIcon(roundImage);
roundBtn.setText("");
roundBtn.addActionListener(new MainFrame_roundBtn_actionAdapter(this));
ellipseBtn.setIcon(ellipseImage);
ellipseBtn.setText("");
ellipseBtn.addActionListener(new MainFrame_ellipseBtn_actionAdapter(this));
lineBtn.setIcon(lineImage);
lineBtn.setText("");
lineBtn.addActionListener(new MainFrame_lineBtn_actionAdapter(this));
fillRoundBtn.setIcon(fillRoundImage);
fillRoundBtn.setText("");
fillRoundBtn.addActionListener(new MainFrame_fillRoundBtn_actionAdapter(this));
rectBtn.setIcon(rectImage);
rectBtn.setText("");
rectBtn.addActionListener(new MainFrame_rectBtn_actionAdapter(this));
randomLineBtn.setIcon(randomLineImage);
randomLineBtn.setText("");
randomLineBtn.addActionListener(new MainFrame_randomLineBtn_actionAdapter(this));
newFileBtn.setIcon(newImage);
newFileBtn.setText("");
newFileBtn.addActionListener(new MainFrame_newFileBtn_actionAdapter(this));
exitBtn.setIcon(exitImage);
exitBtn.setText("");
exitBtn.addActionListener(new MainFrame_exitBtn_actionAdapter(this));
colorBtn.setIcon(colorImage);
colorBtn.setText("");
colorBtn.addActionListener(new MainFrame_colorBtn_actionAdapter(this));
abortAudioItem.setFont(new java.awt.Font("Dialog", 0, 20));
abortAudioItem.setText("停止播放");
abortAudioItem.addActionListener(new MainFrame_abortAudioItem_actionAdapter(this));
stopDemoItem.setFont(new java.awt.Font("Dialog", 0, 20));
stopDemoItem.setText("停止播放");
stopDemoItem.addActionListener(new MainFrame_stopDemoItem_actionAdapter(this));
noEraseHerezonDemoItem.setFont(new java.awt.Font("Dialog", 0, 20));
noEraseHerezonDemoItem.setText("不擦除平移動畫");
noEraseHerezonDemoItem.addActionListener(new MainFrame_noEraseHerezonDemoItem_actionAdapter(this));
textWriteBtn.setIcon(textImage);
textWriteBtn.addActionListener(new MainFrame_textWriteBtn_actionAdapter(this));
writeTextItem.setFont(new java.awt.Font("Dialog", 0, 20));
writeTextItem.setText("寫文字");
writeTextItem.addActionListener(new MainFrame_writeTextItem_actionAdapter(this));
lightInOutDemoItem.setFont(new java.awt.Font("Dialog", 0, 20));
lightInOutDemoItem.setText("淡入淡出動畫");
lightInOutDemoItem.addActionListener(new MainFrame_lightInOutDemoItem_actionAdapter(this));
pauseDemoItem.setFont(new java.awt.Font("Dialog", 0, 20));
pauseDemoItem.setText("暫停播放");
pauseDemoItem.addActionListener(new MainFrame_pauseDemoItem_actionAdapter(this));
resumeDemoItem.setFont(new java.awt.Font("Dialog", 0, 20));
resumeDemoItem.setText("繼續(xù)播放");
resumeDemoItem.addActionListener(new MainFrame_resumeDemoItem_actionAdapter(this));
jToolBar1.add(newFileBtn, null);
jToolBar1.add(newFileBtn, null);
jToolBar1.add(exitBtn, null);
jToolBar1.add(lineBtn, null);
jToolBar1.add(roundBtn, null);
jToolBar1.add(ellipseBtn, null);
jToolBar1.add(fillRoundBtn, null);
jToolBar1.add(rectBtn, null);
jToolBar1.add(randomLineBtn, null);
jToolBar1.add(colorBtn, null);
jToolBar1.add(textWriteBtn, null);
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu3);
jMenuBar1.add(jMenu4);
jMenu1.add(newFileItem);
jMenu1.add(exitSystemItem);
jMenu2.add(drawLineItem);
jMenu2.add(drawRoundItem);
jMenu2.add(drawRectangleItem);
jMenu2.add(drawEllipseItem);
jMenu2.add(drawFillOvalItem);
jMenu2.add(drawRandomItem);
jMenu2.add(writeTextItem);
jMenu3.add(openImageFileItem);
jMenu3.add(zoomHerizonDemoItem);
jMenu3.add(noEraseHerezonDemoItem);
jMenu3.add(lightInOutDemoItem);
jMenu3.add(pauseDemoItem);
jMenu3.add(resumeDemoItem);
jMenu3.add(stopDemoItem);
jMenu4.add(audioFileOpenItem);
jMenu4.add(playAudioItem);
jMenu4.add(abortAudioItem);
this.setJMenuBar(jMenuBar1);
contentPane.add(jScrollPane1, BorderLayout.CENTER);
contentPane.add(jToolBar1, BorderLayout.NORTH);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
//******************************圖形繪制模塊********************************
//菜單項準(zhǔn)備畫線段
void drawLineItem_actionPerformed(ActionEvent e) {
Graphics g;
this.lineType = 1; //1 is corresponding to line
}
//菜單項準(zhǔn)備畫圓
void drawRoundItem_actionPerformed(ActionEvent e) {
lineType = 2; //2 is corresponding to round
}
//菜單項準(zhǔn)備畫矩形
void drawRectangleItem_actionPerformed(ActionEvent e) {
lineType = 3; //3 is corresponding to rectangle
}
//菜單項準(zhǔn)備畫橢圓
void drawEllipseItem_actionPerformed(ActionEvent e) {
lineType = 4; //4 is corresponding to ellipse
}
//菜單項準(zhǔn)備畫填充圓
void drawFillOvalItem_actionPerformed(ActionEvent e) {
lineType = 5; //5 is corresponding to fillOval
}
//菜單項準(zhǔn)備畫任意線段
void drawRandomItem_actionPerformed(ActionEvent e) {
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -