📄 mainframe.java~223~
字号:
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("");
//将主窗口设置到屏幕大小
// 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;
//设置默认声音和图像文件
//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("继续播放");
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);
}
}
//******************************图形绘制模块********************************
//菜单项准备画线段
void drawLineItem_actionPerformed(ActionEvent e) {
Graphics g;
this.lineType = 1; //1 is corresponding to line
}
//菜单项准备画圆
void drawRoundItem_actionPerformed(ActionEvent e) {
lineType = 2; //2 is corresponding to round
}
//菜单项准备画矩形
void drawRectangleItem_actionPerformed(ActionEvent e) {
lineType = 3; //3 is corresponding to rectangle
}
//菜单项准备画椭圆
void drawEllipseItem_actionPerformed(ActionEvent e) {
lineType = 4; //4 is corresponding to ellipse
}
//菜单项准备画填充圆
void drawFillOvalItem_actionPerformed(ActionEvent e) {
lineType = 5; //5 is corresponding to fillOval
}
//菜单项准备画任意线段
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -