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

📄 glomomenubar.java

📁 无线网络仿真工具Glomosim2.03
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.swing.*;public class GlomoMenuBar extends JMenuBar                            implements ActionListener, ItemListener {    private JMenuItem openMenuItem, resetMenuItem, exitMenuItem;    private JMenuItem realTimeMenuItem, writeTraceMenuItem, abortMenuItem, playBackMenuItem;    private JMenuItem breakPointMenuItem, statsMenuItem, guiOptionMenuItem;    private JCheckBoxMenuItem toolBarMenuItem, statusBarMenuItem;    private JMenuItem aboutMenuItem, contentsMenuItem;    private JRadioButtonMenuItem //zoom sub-menu                             oneMenuItem, twoMenuItem, threeMenuItem, fourMenuItem;    private JMenuItem bgColorMenuItem;   //bgColor menu item    private JButton okInputButton, cancelInputButton;    private JCheckBox guiRadioOption, guiRoutingOption;    private GlomoContentsDialog contentsDialog;    private GlomoAboutDialog aboutDialog;    private GlomoConfigDialog configDialog;    private GlomoGuiOptionsDialog guiOptionsDialog;    private GlomoMessageDialog messageDialog;    private JFrame parent;    private GlomoCanvas gCanvas;    private GlomoStatusPanel statusPanel;    private GlomoToolBarPanel toolBarPanel;    private Color bgColor;    private JDialog inputDialog;    private int magnification = 4;    private GlomoRunThread runThread;    private JLabel executable, traceFile;    private JTextField execTF, traceTF;    private String executableName = "..\\bin\\glomosim ..\\bin\\config.in";    private boolean guiRadio, guiRouting;    private String traceFileName = "untitled.trace";    private int traceOption;    private JColorChooser colorChooser;    private final String GUI_OPTION = "GUI-OPTION";    private final String GUI_RADIO  = "GUI-RADIO";    private final String GUI_ROUTING = "GUI-ROUTING";    public GlomoMenuBar(JFrame parent, GlomoCanvas gc, GlomoStatusPanel sp,                        GlomoToolBarPanel tbp, Color bgColor) {        // Create the Menu Bar        super();        this.parent = parent;        gCanvas = gc;        statusPanel = sp;        toolBarPanel = tbp;        this.bgColor = bgColor;        guiRadio = true;        guiRouting = true;          // set the executable file name according to the operationg system        if(System.getProperty("file.separator","/").trim().equals("/")){ // Unix file system            executableName = "../bin/glomosim ../bin/config.in";        }                     // Create File Menu        JMenu fileMenu = new JMenu("File");        fileMenu.setMnemonic(KeyEvent.VK_F);        openMenuItem = new JMenuItem("Open...", KeyEvent.VK_O);        openMenuItem.setAccelerator(                     KeyStroke.getKeyStroke(KeyEvent.VK_O,                     ActionEvent.CTRL_MASK));        openMenuItem.addActionListener(this);        fileMenu.add(openMenuItem);        resetMenuItem = new JMenuItem("Reset", KeyEvent.VK_R);        resetMenuItem.setAccelerator(                      KeyStroke.getKeyStroke(KeyEvent.VK_N,                       ActionEvent.CTRL_MASK));        resetMenuItem.addActionListener(this);        //fileMenu.add(resetMenuItem);        fileMenu.addSeparator();        exitMenuItem = new JMenuItem("Exit", KeyEvent.VK_X);        exitMenuItem.setAccelerator(                     KeyStroke.getKeyStroke(KeyEvent.VK_X,                      ActionEvent.CTRL_MASK));        exitMenuItem.addActionListener(this);        fileMenu.add(exitMenuItem);        add(fileMenu);        // Create view Menu        JMenu viewMenu = new JMenu("View");        viewMenu.setMnemonic(KeyEvent.VK_V);        toolBarMenuItem = new JCheckBoxMenuItem("Tool Bar");        toolBarMenuItem.setState(true);        toolBarMenuItem.addItemListener(this);        viewMenu.add(toolBarMenuItem);        statusBarMenuItem = new JCheckBoxMenuItem("Status Bar");        statusBarMenuItem.setState(true);        statusBarMenuItem.addItemListener(this);        viewMenu.add(statusBarMenuItem);        add(viewMenu);        // Create Simulate Menu        JMenu simulateMenu = new JMenu("Simulate");        simulateMenu.setMnemonic(KeyEvent.VK_S);        realTimeMenuItem = new JMenuItem("Real Time",                                  KeyEvent.VK_R);        realTimeMenuItem.setAccelerator(                         KeyStroke.getKeyStroke(KeyEvent.VK_R,                         ActionEvent.CTRL_MASK));        realTimeMenuItem.addActionListener(this);        simulateMenu.add(realTimeMenuItem);        writeTraceMenuItem = new JMenuItem("Write Trace",KeyEvent.VK_W);        writeTraceMenuItem.setAccelerator(                           KeyStroke.getKeyStroke(KeyEvent.VK_W,                           ActionEvent.CTRL_MASK));        writeTraceMenuItem.addActionListener(this);        simulateMenu.add(writeTraceMenuItem);        playBackMenuItem = new JMenuItem("Play Back",KeyEvent.VK_P);        playBackMenuItem.setAccelerator(                         KeyStroke.getKeyStroke(KeyEvent.VK_P,                         ActionEvent.CTRL_MASK));        playBackMenuItem.addActionListener(this);        simulateMenu.add(playBackMenuItem);        simulateMenu.addSeparator();        abortMenuItem = new JMenuItem("Abort", KeyEvent.VK_A);        abortMenuItem.setAccelerator(                      KeyStroke.getKeyStroke(KeyEvent.VK_A,                      ActionEvent.CTRL_MASK));        abortMenuItem.addActionListener(this);        abortMenuItem.setEnabled(false);        simulateMenu.add(abortMenuItem);        add(simulateMenu);        // Create Options Menu        JMenu optionsMenu = new JMenu("Options");        optionsMenu.setMnemonic(KeyEvent.VK_O);                // Create Zoom Sub Menu        JMenu zoomMenu = new JMenu("Zoom");        ButtonGroup group = new ButtonGroup();        oneMenuItem = new JRadioButtonMenuItem("Normal");        oneMenuItem.addActionListener(this);        group.add(oneMenuItem);        zoomMenu.add(oneMenuItem);        twoMenuItem = new JRadioButtonMenuItem("times 2");        twoMenuItem.addActionListener(this);        group.add(twoMenuItem);        zoomMenu.add(twoMenuItem);        threeMenuItem = new JRadioButtonMenuItem("times 3");        threeMenuItem.addActionListener(this);        group.add(threeMenuItem);        zoomMenu.add(threeMenuItem);        fourMenuItem = new JRadioButtonMenuItem("times 4");        fourMenuItem.addActionListener(this);        group.add(fourMenuItem);        zoomMenu.add(fourMenuItem);        setZoomItems(fourMenuItem);        optionsMenu.add(zoomMenu);        // Create Color Menu Item        bgColorMenuItem = new JMenuItem("Background Colors");        bgColorMenuItem.addActionListener(this);        optionsMenu.add(bgColorMenuItem);                // Create Gui Sub Menu        guiOptionMenuItem = new JMenuItem("GUI Options...");        guiOptionMenuItem.addActionListener(this);        optionsMenu.add(guiOptionMenuItem);        add(optionsMenu);        // Create Debug Menu        JMenu debugMenu = new JMenu("Debug");        debugMenu.setMnemonic(KeyEvent.VK_D);        breakPointMenuItem = new JMenuItem("Break Point", KeyEvent.VK_B);        breakPointMenuItem.setAccelerator(                           KeyStroke.getKeyStroke(KeyEvent.VK_B,                           ActionEvent.CTRL_MASK));        breakPointMenuItem.setEnabled (false);        breakPointMenuItem.addActionListener(this);        debugMenu.add(breakPointMenuItem);        statsMenuItem = new JMenuItem("View stats...");        statsMenuItem.addActionListener(this);        debugMenu.add(statsMenuItem);        add(debugMenu);        // Create Help Menu        // In order to make help menu at the right edage, create        // a blank glue        add(Box.createHorizontalGlue());        JMenu helpMenu = new JMenu("Help");        helpMenu.setMnemonic(KeyEvent.VK_H);        contentsMenuItem = new JMenuItem("Contents",KeyEvent.VK_C);        contentsMenuItem.addActionListener(this);        helpMenu.add(contentsMenuItem);        aboutMenuItem = new JMenuItem("About");        aboutMenuItem.addActionListener(this);        helpMenu.add(aboutMenuItem);        add(helpMenu);        // Set a raised bevel border of menu bar        setBorder(BorderFactory.createRaisedBevelBorder());        // Create Dialogs        messageDialog = new GlomoMessageDialog(parent);        configDialog = new GlomoConfigDialog(parent, messageDialog);        contentsDialog = new GlomoContentsDialog(parent, messageDialog);        aboutDialog = new GlomoAboutDialog(parent);        guiOptionsDialog=new GlomoGuiOptionsDialog(parent, messageDialog);        // Create the Color Chooser         colorChooser = new JColorChooser();    }    public void actionPerformed(ActionEvent e) {        Object action = e.getSource();        if (action == openMenuItem) {            try {                if(configDialog.openFile()){                    configDialog.setVisible(true);                }            } catch(IOException ioe) {                messageDialog.setMessage("Config Open...",                                                "Error processing file!");            }        }        else if (action == exitMenuItem) {            System.exit(0);        }        else if (action == contentsMenuItem) {            contentsDialog.setVisible(true);        }        else if (action == aboutMenuItem) {            aboutDialog.setVisible(true);        }        else if (action == realTimeMenuItem) {            traceOption = GlomoRunThread.REAL_TIME;            inputDialog = new JDialog(parent, "", true);            initInputDialog(inputDialog);            inputDialog.setVisible(true);        }        else if (action == writeTraceMenuItem) {            traceOption = GlomoRunThread.WRITE_TRACE;            inputDialog = new JDialog(parent, "", true);            initInputDialog(inputDialog);            inputDialog.setVisible(true);        }        else if (action == playBackMenuItem) {            traceOption = GlomoRunThread.PLAYBACK_TRACE;            inputDialog = new JDialog(parent, "", true);            initInputDialog(inputDialog);            inputDialog.setVisible(true);        }        else if (action == cancelInputButton) {            resetMenuAndToolBars();            inputDialog.setVisible(false);        }        else if (action == okInputButton) {            inputDialog.setVisible(false);            //set menu items and tool buttons            if ((traceOption == GlomoRunThread.WRITE_TRACE)){                setRunSettings();            }            else{                setPlayBackSettings();            }            if ((traceOption == GlomoRunThread.WRITE_TRACE)                 || (traceOption == GlomoRunThread.REAL_TIME)) {                executableName = execTF.getText();                guiRadio = guiRadioOption.isSelected();                guiRouting = guiRoutingOption.isSelected();                if( !setGuiOptions(executableName, guiRadio, guiRouting)){                    messageDialog.setMessage("Input Error","Wrong input command");                    return;                }            }            if (traceOption != GlomoRunThread.REAL_TIME) {                traceFileName = traceTF.getText();            }            runThread.setParams(executableName, traceFileName);            runThread.start();        }        else if (action == abortMenuItem) {            runThread.abortSim();            // if the runThread is currently paused, you need to resume it            // before it can abort; otherwise, it will continue to wait()            if (runThread.isSimPaused() == true) {                runThread.resumeSim();                toolBarPanel.setPauseLabel();            }        }        else if (action == statsMenuItem) {            try {                GlomoStatsDialog statsDialog =                                new GlomoStatsDialog(parent, messageDialog);                statsDialog.openFile();            } catch (NumberFormatException nfe) {                messageDialog.setMessage("Stats Open...",                                                "Error processing file!");            } catch (IOException ioe) {                messageDialog.setMessage("Stats Open...",                                                "Error processing file!");            }        }        else if (action == guiOptionMenuItem) {            guiOptionsDialog.setVisible(true);        }        else if (action == oneMenuItem) {            setMagnification(1);            toolBarPanel.setMagnification(1);        }        else if (action == twoMenuItem) {            setMagnification(2);            toolBarPanel.setMagnification(2);        }        else if (action == threeMenuItem) {            setMagnification(3);            toolBarPanel.setMagnification(3);        }        else if (action == fourMenuItem) {            setMagnification(4);            toolBarPanel.setMagnification(4);        }        else if (action == bgColorMenuItem)        {            selectBackgroundColor();

⌨️ 快捷键说明

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