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

📄 eventhandler.java

📁 这是一个从音频信号里提取特征参量的程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * @(#) EventHandler.java  1.10 10/09/02 * * Copyright ***,  All Rights Reserved. *  * This software is the proprietary information of ********   * Use is subject to license terms. *  */// import java packages//import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.event.*;import java.io.*;import java.lang.*;import java.util.*;/** * This class is designed to handle all events of the  * ..... * ..... * @version 1.00 */public class EventHandler implements ActionListener, 				     MouseListener,				     MouseMotionListener{    //-----------------------------------------------------------------    //    // static data members    //    //-----------------------------------------------------------------    //-----------------------------------------------------------------    //    // instance data members    //    //-----------------------------------------------------------------    /**     * data member about current status     */    protected String curr_am_string_d = CData.AM_NONE;    public Vertex curr_vertex_focus_d = null;    public Vertex curr_vertex_copy_d = null;    public GraphArc curr_arc_focus_d = null;    public DiGraph curr_graph_copy_d = null;    /**     * mouse positions     */    protected int mouse_x_d = 0;    protected int mouse_y_d = 0;    //-----------------------------------------------------------------    //    // static function members    //    //-----------------------------------------------------------------    //-----------------------------------------------------------------    //    // instance function members    //    //-----------------------------------------------------------------    /**     * reset all focus      *      * @return void     */    public void resetFocus() {	curr_am_string_d = CData.AM_NONE;	curr_vertex_focus_d = null;	curr_arc_focus_d = null;    }    /**     * handle the event when a command is issued     *      * @param e the mouse event     * @return void     */    public void actionPerformed(ActionEvent e) {		// check the menu first	//	CData.main_frame_d.checkMenu();	// branches on the action command	//	// file menu	//	if ( e.getActionCommand().equals(CData.AM_FILE_EXIT) ){	    curr_am_string_d = CData.AM_FILE_EXIT;	    fileExit_actionPerformed(e);	}	if ( e.getActionCommand().equals(CData.AM_FILE_SAVE) ){	    curr_am_string_d = CData.AM_FILE_EXIT;	    CData.store(false);	}	if ( e.getActionCommand().equals(CData.AM_FILE_SAVE_AS) ){	    curr_am_string_d = CData.AM_FILE_EXIT;	    CData.store(true);	}	if ( e.getActionCommand().equals(CData.AM_FILE_SAVE_ALL) ){	    curr_am_string_d = CData.AM_FILE_EXIT;	    showSaveAllDlg();	}	if ( e.getActionCommand().equals(CData.AM_FILE_OPEN) ){	    curr_am_string_d = CData.AM_FILE_EXIT;	    CData.load(false);	}	if ( e.getActionCommand().equals(CData.AM_FILE_NEW) ){	    curr_am_string_d = CData.AM_FILE_EXIT;	    CData.newModel(true);	}	if ( e.getActionCommand().equals(CData.AM_FILE_CLOSE) ){	    curr_am_string_d = CData.AM_FILE_EXIT;	    CData.newModel(false);	}	if ( e.getActionCommand().equals(CData.AM_HELP_ABOUT) ){	    curr_am_string_d = CData.AM_HELP_ABOUT;	    helpAbout_actionPerformed(e);	}	// grammar menu	//	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_INSERT_START) ){	    if ( CData.curr_graph_d == null )		return;	    curr_am_string_d = CData.AM_GRAMMAR_INSERT_START;	    grammarInsertStart_actionPerformed(e);	}	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_INSERT_STOP) ){	    if ( CData.curr_graph_d == null )		return;	    curr_am_string_d = CData.AM_GRAMMAR_INSERT_STOP;	    grammarInsertStart_actionPerformed(e);	}	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_INSERT_NODE) ){	    if ( CData.curr_graph_d == null )		return;	    curr_am_string_d = CData.AM_GRAMMAR_INSERT_NODE;	    grammarInsertStart_actionPerformed(e);	}	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_INSERT_ARC) ){	    curr_am_string_d = CData.AM_GRAMMAR_INSERT_ARC;	    grammarInsertStart_actionPerformed(e);	}	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_INSERT_SELF_ARC) ){	    curr_am_string_d = CData.AM_GRAMMAR_INSERT_SELF_ARC;	    grammarInsertStart_actionPerformed(e);	}	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_CUT) ){	    curr_am_string_d = CData.AM_GRAMMAR_CUT;	    curr_vertex_copy_d = new Vertex(curr_vertex_focus_d);	    CData.curr_graph_d.removeVertex(curr_vertex_focus_d);	    curr_vertex_focus_d = null;	    curr_am_string_d = CData.AM_NONE;	}	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_COPY) ){	    	    if ( curr_vertex_focus_d == null ){		return;	    }	    curr_am_string_d = CData.AM_GRAMMAR_COPY;	    curr_vertex_copy_d = new Vertex(curr_vertex_focus_d);	    curr_am_string_d = CData.AM_NONE;	}	// paste a node	//	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_PASTE) ){	    if ( curr_vertex_copy_d == null ){		return;	    }	    curr_am_string_d = CData.AM_GRAMMAR_PASTE;	    //Point location = curr_vertex_copy_d.getVertexLocation();	    Point location = curr_vertex_copy_d.getLocation();	    location.x += 15;	    location.y += 15;	    Vertex paste_vertex = new Vertex(curr_vertex_copy_d);	    CData.work_area_d.insertVertexAt( paste_vertex, 					   location);	    CData.curr_graph_d.insertVertex(paste_vertex);	    //curr_vertex_focus_d = null;	    curr_am_string_d = CData.AM_NONE;	}	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_DELETE) ){	    if ( curr_vertex_focus_d != null ){		CData.curr_graph_d.removeVertex(curr_vertex_focus_d);	    }	    if ( curr_arc_focus_d != null ){		CData.curr_graph_d.removeArc(curr_arc_focus_d);	    }	    curr_vertex_focus_d = null;	    curr_arc_focus_d = null;	    curr_am_string_d = CData.AM_NONE;	}		// copy a graph	//	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_COPY_GRAPH) ){	    	    if ( CData.curr_graph_d == null ){		return;	    }	    //System.out.println("copy a graph");	    curr_graph_copy_d = new DiGraph(CData.curr_graph_d);	    curr_am_string_d = CData.AM_NONE;	}	// paste a graph	//	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_PASTE_GRAPH) ){	    if ( curr_graph_copy_d == null ){		return;	    }	    String graph_name = (String) 		CData.getCurrLevel().graph_names_d.		get(CData.curr_graph_index_d);	    //System.out.println("paste a graph");	    // set current graph	    //	    CData.curr_graph_d = new DiGraph(curr_graph_copy_d);	    CData.getCurrLevel().graphs_d.put(graph_name, CData.curr_graph_d);	    //curr_vertex_focus_d = null;	    curr_am_string_d = CData.AM_NONE;	    CData.main_frame_d.updateAll();	}	// weight a graph	//	if ( e.getActionCommand().equals(CData.AM_GRAMMAR_WEIGHT_GRAPH) ){	    if ( CData.curr_graph_d == null ){		return;	    }	    CData.curr_graph_d.resetGraphArcWeight((float)1.0);	}	// hiearchy menu	//	if ( e.getActionCommand().equals(CData.AM_H_ADD_LEVEL) ){	    curr_am_string_d = CData.AM_H_ADD_LEVEL;	    CData.addLevel(CData.search_levels_d.size());	    curr_am_string_d = CData.AM_NONE;	    CData.main_frame_d.updateAll();	}	if ( e.getActionCommand().equals(CData.AM_H_DELETE_LEVEL) ){	    CData.search_levels_d.remove(CData.getCurrLevel());	    CData.main_frame_d.jTabbedPaneLeft.		removeTabAt(CData.curr_level_index_d);	    curr_am_string_d = CData.AM_NONE;	    CData.main_frame_d.updateAll();	}	if ( e.getActionCommand().equals(CData.AM_H_CHECK_LEVEL) ){	    CData.check();	}	if ( e.getActionCommand().equals(CData.AM_H_SYMBOLS) ){	    curr_am_string_d = CData.AM_H_SYMBOLS;	    hSymbols_actionPerformed(e);	}		// repaint the work area	//	CData.work_area_d.repaint();		CData.removeTempFile();    }    /**     * exit the application     *      * @param e any event     * @return void     */    public void fileExit_actionPerformed(ActionEvent e) {	System.exit(0);    }    /**     * Help | About action performed     *      * @param e any event     * @return void     */    private void helpAbout_actionPerformed(ActionEvent e) {	UIMainFrame_AboutBox dlg 	    = new UIMainFrame_AboutBox( CData.main_frame_d);	Dimension dlgSize = dlg.getPreferredSize();	Dimension frmSize = CData.main_frame_d.getSize();	Point loc = CData.main_frame_d.getLocation();	dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, 			(frmSize.height - dlgSize.height) / 2 + loc.y);	dlg.setModal(true);	dlg.show();    }    /**     * Hiearchy | Symbols action performed     *      * @param e any event     * @return void     */    private void hSymbols_actionPerformed(ActionEvent e) {	showSymbolsDlg();    }    /**     * Hiearchy | Symbols action performed     *      * @return void     */    public void showSymbolsDlg() {	UISymbolDialog dlg = null;	if (CData.symbol_dlg_d == null ){	    CData.symbol_dlg_d = 		new UISymbolDialog( CData.main_frame_d, "symbols", false);	    dlg = CData.symbol_dlg_d;	    Dimension dlgSize = dlg.getPreferredSize();	    Dimension frmSize = CData.main_frame_d.getSize();	    Point loc = CData.main_frame_d.getLocation();	    dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, 			    (frmSize.height - dlgSize.height) / 2 + loc.y);	    dlg.setModal(false);		}	dlg = CData.symbol_dlg_d;		SearchLevel curr_level = CData.getCurrLevel();	dlg.level_symbols_d = (Vector)curr_level.symbols_d.clone();	dlg.level_name_d = new String (curr_level.level_name_d);	dlg.initAll();	dlg.show();    }    /**     * Hiearchy | Symbols action performed     *      * @return void     */    public void showSaveAllDlg() {	UISaveAllDialog dlg = 	    new UISaveAllDialog( CData.main_frame_d, "SaveAlls", false);	Dimension dlgSize = dlg.getPreferredSize();	Dimension frmSize = CData.main_frame_d.getSize();	Point loc = CData.main_frame_d.getLocation();	dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, 			(frmSize.height - dlgSize.height) / 2 + loc.y);	dlg.setModal(true);	dlg.initAll();	dlg.show();    }    /**     * Grammar | Insert Start     *      * @param e the action event     * @return void     */    private void grammarInsertStart_actionPerformed(ActionEvent e) {		// Create an instance of java.awt.Cursor	//	Cursor c = new Cursor ( Cursor.HAND_CURSOR );	// Set cursor for the work area	//	CData.work_area_d.setCursor(c);	// then waiting for the mouse left-click on the work area    }    /**     * handle the event when mouse is clicked     *      * @param e the mouse event     * @return void     */    public void mouseClicked(MouseEvent e) {	// declare local variables	//	// restore the shape of the mouse	//	Cursor c = new Cursor ( Cursor.DEFAULT_CURSOR );	CData.work_area_d.setCursor(c);	//System.out.println("mouse clicked");	// did the user click on the WorkArea with the left mouse button?	//	if (e.getSource().getClass().getName().equals("WorkArea")) {	    //System.out.println("workarea clicked");	    if (CData.work_area_d.digraph_d == CData.curr_graph_d) {		if (SwingUtilities.isLeftMouseButton(e)) {		    workAreaLMClicked(e);		}		if (SwingUtilities.isRightMouseButton(e)) {		    System.out.println(((WorkArea)e.getSource()).				       digraph_d.vertices_d.size());		    workAreaRMClicked(e);		}

⌨️ 快捷键说明

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