Example usage for javax.swing JCheckBoxMenuItem JCheckBoxMenuItem

List of usage examples for javax.swing JCheckBoxMenuItem JCheckBoxMenuItem

Introduction

In this page you can find the example usage for javax.swing JCheckBoxMenuItem JCheckBoxMenuItem.

Prototype

public JCheckBoxMenuItem(Action a) 

Source Link

Document

Creates a menu item whose properties are taken from the Action supplied.

Usage

From source file:org.yccheok.jstock.gui.JStock.java

public void createLookAndFeelMenuItems() {
    LookAndFeel currentlaf = UIManager.getLookAndFeel();

    UIManager.LookAndFeelInfo[] lafInfo = UIManager.getInstalledLookAndFeels();

    for (int i = 0; i < lafInfo.length; i++) {
        JMenuItem mi = (JRadioButtonMenuItem) jMenu4.add(new JRadioButtonMenuItem(lafInfo[i].getName()));
        buttonGroup1.add(mi);// w  w  w.j  ava 2s .com
        mi.addActionListener(new ChangeLookAndFeelAction(this, lafInfo[i].getClassName()));

        if (currentlaf != null) {
            if (lafInfo[i].getClassName().equals(currentlaf.getClass().getName())) {
                ((JRadioButtonMenuItem) mi).setSelected(true);
            }
        }
    }

    // Always on Top
    jMenu4.addSeparator();
    this.alwaysOnTopMenuItem = jMenu4.add(new JCheckBoxMenuItem(GUIBundle.getString("MainFrame_AlwaysOnTop")));

    this.alwaysOnTopMenuItem.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            AbstractButton aButton = (AbstractButton) e.getSource();
            boolean selected = aButton.getModel().isSelected();

            JStock.this._setAlwaysOnTop(selected);
        }
    });
}

From source file:savant.view.swing.FrameCommandBar.java

/**
 * Create Tools menu for commandBar.  This is common to all track types.
 *///from www  . j  ava 2 s.c  om
private JMenu createToolsMenu() {
    JMenu menu = new JMenu("Tools");
    JMenuItem item = new JCheckBoxMenuItem("Lock X Axis");
    item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            graphPane.setLocked(!graphPane.isLocked());
        }
    });
    menu.add(item);

    // TODO: experimental feature which doesn't quite work yet
    final JMenuItem itemy = new JCheckBoxMenuItem("Lock Y Axis");
    itemy.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            System.out.println("Trying to locking Y max: " + !itemy.isSelected());
            graphPane.setYMaxLocked(itemy.isSelected());
        }
    });
    //menu.add(itemy);

    item = new JMenuItem("Copy URL to Clipboard");
    item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            Toolkit.getDefaultToolkit().getSystemClipboard()
                    .setContents(new StringSelection(mainTrack.getDataSource().getURI().toString()), null);
        }
    });
    menu.add(item);

    DataFormat df = mainTrack.getDataFormat();
    if (df == DataFormat.SEQUENCE) {
        menu.add(new JSeparator());
        JMenuItem copyItem = new JMenuItem("Copy Sequence to Clipboard");
        copyItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                try {
                    LocationController lc = LocationController.getInstance();
                    byte[] seq = ((SequenceTrack) mainTrack).getSequence(lc.getReferenceName(), lc.getRange());
                    Toolkit.getDefaultToolkit().getSystemClipboard()
                            .setContents(new StringSelection(new String(seq)), null);
                } catch (Throwable x) {
                    LOG.error(x);
                    DialogUtils.displayError("Unable to copy sequence to clipboard.");
                }
            }
        });
        menu.add(copyItem);

        setAsGenomeButton = new JCheckBoxMenuItem("Set as Genome");
        setAsGenomeButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Genome newGenome = Genome.createFromTrack(mainTrack);
                GenomeController.getInstance().setGenome(newGenome);
            }
        });
        menu.add(setAsGenomeButton);
        menu.addMenuListener(new MenuAdapter() {
            @Override
            public void menuSelected(MenuEvent me) {
                Track seqTrack = (Track) GenomeController.getInstance().getGenome().getSequenceTrack();
                if (seqTrack == mainTrack) {
                    setAsGenomeButton.setSelected(true);
                    setAsGenomeButton.setEnabled(false);
                    setAsGenomeButton.setToolTipText("This track is already the reference sequence");
                } else {
                    setAsGenomeButton.setSelected(false);
                    setAsGenomeButton.setEnabled(true);
                    setAsGenomeButton.setToolTipText("Use this track as the reference sequence");
                }
            }
        });
    } else if (df == DataFormat.ALIGNMENT) {
        menu.add(new JSeparator());

        item = new JMenuItem("Filter...");
        item.setToolTipText("Control how records are filtered");

        item.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new BAMFilterDialog(DialogUtils.getMainWindow(), (BAMTrack) mainTrack).setVisible(true);
            }
        });
        menu.add(item);
    } else if (df == DataFormat.RICH_INTERVAL) {
        menu.add(new JSeparator());

        final JMenuItem bookmarkAll = new JMenuItem("Bookmark All Features");
        bookmarkAll.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                DataSource ds = (DataSource) mainTrack.getDataSource();
                if (DialogUtils.askYesNo("Bookmark All Features ",
                        String.format("This will create %d bookmarks.  Are you sure you want to do this?",
                                ds.getDictionaryCount())) == DialogUtils.YES) {
                    ds.addDictionaryToBookmarks();
                    Savant.getInstance().displayBookmarksPanel();
                }
            }
        });
        menu.add(bookmarkAll);

        menu.addMenuListener(new MenuAdapter() {
            @Override
            public void menuSelected(MenuEvent me) {
                bookmarkAll.setEnabled(mainTrack.getDataSource() instanceof DataSource
                        && ((DataSource) mainTrack.getDataSource()).getDictionaryCount() > 0);
            }
        });
    }
    return menu;
}

From source file:savant.view.swing.FrameCommandBar.java

/**
 * Create display menu for commandBar//from   w  ww.j  ava  2s .  c o  m
 */
private JMenu createDisplayModeMenu() {
    JMenu menu = new JMenu("Display Mode");

    //display modes
    DrawingMode[] validModes = mainTrack.getValidDrawingModes();
    modeItems = new JCheckBoxMenuItem[validModes.length];
    for (int i = 0; i < validModes.length; i++) {
        JCheckBoxMenuItem item = new JCheckBoxMenuItem(validModes[i].getDescription());
        item.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JCheckBoxMenuItem item = (JCheckBoxMenuItem) e.getSource();
                if (item.getState()) {
                    DrawingMode[] validModes = mainTrack.getValidDrawingModes();
                    for (int j = 0; j < modeItems.length; j++) {
                        if (item.getText().equals(validModes[j].getDescription())) {
                            for (TrackAdapter t : frame.getTracks()) {

                                AnalyticsAgent.log(new NameValuePair[] {
                                        new NameValuePair("track-event", "DisplayModeChanged"),
                                        new NameValuePair("track-type", t.getClass().getSimpleName()),
                                        new NameValuePair("target-mode", validModes[j].getDescription()) });

                                t.setDrawingMode(validModes[j]);
                            }
                            drawModePosition = j;
                        } else {
                            modeItems[j].setState(false);
                        }
                    }
                } else {
                    item.setState(true);
                }
            }
        });
        if (validModes[i] == mainTrack.getDrawingMode()) {
            item.setState(true);
        }
        modeItems[i] = item;
        menu.add(item);
    }

    // Determine position of current draw mode.
    DrawingMode currentMode = mainTrack.getDrawingMode();
    for (int i = 0; i < validModes.length; i++) {
        if (validModes[i].equals(currentMode)) {
            drawModePosition = i;
            break;
        }
    }

    // Allow cycling through display modes.
    graphPane.addKeyListener(new KeyAdapter() {
        @Override
        public void keyTyped(KeyEvent e) {
            //check for: Mac + Command + 'm' OR !Mac + Ctrl + 'm'
            if ((MiscUtils.MAC && e.getModifiersEx() == 256 && e.getKeyChar() == 'm')
                    || (!MiscUtils.MAC && e.getKeyChar() == '\n' && e.isControlDown())) {
                cycleDisplayMode();
            }
        }
    });
    return menu;
}

From source file:savant.view.swing.FrameCommandBar.java

private JMenu createAppearanceMenu() {
    JMenu menu = new JMenu("Appearance");
    JMenuItem item = new JMenuItem("Colour Settings...");
    item.addActionListener(new ActionListener() {
        @Override//w  w  w  .  ja va  2  s . com
        public void actionPerformed(ActionEvent e) {
            SettingsDialog dlg = new SettingsDialog(DialogUtils.getMainWindow(), "Colour Settings",
                    new TrackColourSchemePanel(mainTrack));
            dlg.setVisible(true);
        }
    });
    menu.add(item);

    DataFormat df = mainTrack.getDataFormat();

    if (df != DataFormat.SEQUENCE) {
        scaleToFitItem = new JCheckBoxMenuItem("Scale to Fit");
        scaleToFitItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                if (scaleToFitItem.isSelected()) {
                    graphPane.setScaledToFit(true);
                } else {
                    // This check is kinda ugly, but we only want to set the interval height from the slider
                    // if we're showing intervals (i.e. not arc mode and not coverage).
                    if (intervalSlider != null && mainTrack.getDrawingMode() != DrawingMode.ARC
                            && mainTrack.getDrawingMode() != DrawingMode.ARC_PAIRED && mainTrack.getResolution(
                                    LocationController.getInstance().getRange()) == Resolution.HIGH) {
                        int h = getIntervalHeight();
                        graphPane.setUnitHeight(h);
                    }
                    graphPane.setScaledToFit(false);
                }
            }
        });
        scaleToFitItem
                .setToolTipText("If selected, the track's display will be scaled to fit the available height.");
        menu.addMenuListener(new MenuAdapter() {
            @Override
            public void menuSelected(MenuEvent me) {
                scaleToFitItem.setSelected(graphPane.isScaledToFit());
            }
        });
        menu.add(scaleToFitItem);
    }

    if (df == DataFormat.RICH_INTERVAL) {
        menu.add(new JSeparator());
        JCheckBoxMenuItem itemRGB = new JCheckBoxMenuItem("Enable ItemRGB");
        itemRGB.setState(false);
        itemRGB.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ((RichIntervalTrack) mainTrack).toggleItemRGBEnabled();
                graphPane.setRenderForced();
                graphPane.repaint();
            }
        });
        menu.add(itemRGB);

        JCheckBoxMenuItem score = new JCheckBoxMenuItem("Enable Score");
        score.setState(false);
        score.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ((RichIntervalTrack) mainTrack).toggleScoreEnabled();
                graphPane.setRenderForced();
                graphPane.repaint();
            }
        });
        menu.add(score);

        JCheckBoxMenuItem alternate = new JCheckBoxMenuItem("Display Alternate Name");
        alternate.setState(((RichIntervalTrack) mainTrack).isUsingAlternateName());
        alternate.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ((RichIntervalTrack) mainTrack).toggleAlternateName();
                graphPane.setRenderForced();
                graphPane.repaint();
            }
        });
        menu.add(alternate);
    } else if (df == DataFormat.ALIGNMENT) {
        menu.add(new JSeparator());
        baseQualityItem = new JCheckBoxMenuItem("Enable Base Quality");
        baseQualityItem.setState(false);
        baseQualityItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (((BAMTrack) mainTrack).toggleBaseQualityEnabled()) {
                    mappingQualityItem.setState(false);
                }
                graphPane.setRenderForced();
                graphPane.repaint();
            }
        });
        menu.add(baseQualityItem);

        mappingQualityItem = new JCheckBoxMenuItem("Enable Mapping Quality");
        mappingQualityItem.setState(false);
        mappingQualityItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (((BAMTrack) mainTrack).toggleMappingQualityEnabled()) {
                    baseQualityItem.setState(false);
                }
                graphPane.setRenderForced();
                graphPane.repaint();
            }
        });
        menu.add(mappingQualityItem);
    }
    return menu;
}

From source file:sc.fiji.kappa.gui.KappaMenuBar.java

/**
 * Creates a menu-bar and adds menu items to it
 *///from w  w  w  .  j  a v  a  2  s.c o m
public KappaMenuBar(Context context, KappaFrame frame) {
    context.inject(this);

    this.frame = frame;

    // File chooser for curve data
    FileNameExtensionFilter kappaFilter = new FileNameExtensionFilter("Kappa Files", "kapp");

    kappaLoad = new JFileChooser();
    kappaLoad.setFileFilter(kappaFilter);
    kappaLoad.setDialogTitle("Load Existing Curve Data");

    kappaSave = new JFileChooser();
    kappaSave.setFileFilter(kappaFilter);
    kappaSave.setDialogTitle("Save Curve Data");

    // Declares the file menu
    JMenu fileMenu = new JMenu("File");
    fileMenu.setMnemonic('F');

    /*
     * // Menu Items for file operations // Creates a new file chooser. Same native
     * image support as ImageJ since ImageJ // libraries are used. kappaOpen = new
     * JFileChooser(); FileNameExtensionFilter filter = new
     * FileNameExtensionFilter("Image Files", "tif", "tiff", "jpeg", "jpg", "bmp",
     * "fits", "pgm", "ppm", "pbm", "gif", "png", "dic", "dcm", "dicom", "lsm",
     * "avi"); kappaOpen.setFileFilter(filter);
     * 
     * JMenuItem openMenu = new JMenuItem("Open Image File");
     * openMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, DEFAULT_MASK));
     * openMenu.addActionListener(e -> { int returnVal =
     * kappaOpen.showOpenDialog(this.frame); if (returnVal ==
     * JFileChooser.APPROVE_OPTION) { openImageFile(kappaOpen.getSelectedFile()); }
     * }); fileMenu.add(openMenu);
     */

    JMenuItem openActiveMenu = new JMenuItem("Open Active Image");
    openActiveMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, DEFAULT_MASK));
    openActiveMenu.addActionListener(e -> {
        openActiveImage(context);
    });
    fileMenu.add(openActiveMenu);
    fileMenu.addSeparator();

    JMenuItem importROIsAsCurvesMenu = new JMenuItem("Import ROIs as curves");
    importROIsAsCurvesMenu.addActionListener(e -> {
        importROIsAsCurves(context);
    });
    fileMenu.add(importROIsAsCurvesMenu);
    fileMenu.addSeparator();

    JMenuItem loadMenu = new JMenuItem("Load Curve Data");
    loadMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, DEFAULT_MASK));
    loadMenu.addActionListener(e -> {
        // Handle open button action.
        int returnVal = kappaLoad.showOpenDialog(this.frame);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            file = kappaLoad.getSelectedFile();
            loadCurveFile(file);
        }
    });
    fileMenu.add(loadMenu);

    JMenuItem saveMenu = new JMenuItem("Save Curve Data");
    saveMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, DEFAULT_MASK));
    saveMenu.addActionListener(e -> {

        String dirPath = frame.getImageStack().getOriginalFileInfo().directory;
        if (dirPath != null) {
            String kappaPath = FilenameUtils
                    .removeExtension(frame.getImageStack().getOriginalFileInfo().fileName);
            kappaPath += ".kapp";
            File fullPath = new File(dirPath, kappaPath);
            kappaSave.setSelectedFile(fullPath);
        }

        // Handles save button action.
        int returnVal = kappaSave.showSaveDialog(this.frame);

        if (returnVal == JFileChooser.APPROVE_OPTION) {
            file = kappaSave.getSelectedFile();
            // Appends a .kapp
            if (!file.getPath().toLowerCase().endsWith(".kapp")) {
                file = new File(file.getPath() + ".kapp");
            }
            saveCurveFile(file);
        }
    });
    fileMenu.add(saveMenu);

    this.add(fileMenu);

    // Menu Items for all the tools
    JMenu toolMenu = new JMenu("Tools");
    for (int i = 0; i < ToolPanel.NO_TOOLS; i++) {
        toolMenuItems[i] = new JMenuItem(ToolPanel.TOOL_MENU_NAMES[i]);
        toolMenuItems[i].setEnabled(false);
        toolMenuItems[i].setAccelerator(KeyStroke.getKeyStroke(ToolPanel.TOOL_MNEMONICS[i], 0));
        final int j = i;
        toolMenuItems[i].addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {
                frame.getToolPanel().setSelected(j, true);
                frame.getScrollPane().setCursor(ToolPanel.TOOL_CURSORS[j]);
            }
        });
        toolMenu.add(toolMenuItems[i]);
    }

    // We also add a menu item for deleting Bezier Curves via the Backspace key.
    setDelete(new JMenuItem("Delete Curves"));
    getDelete().addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent event) {
            frame.deleteCurve();
        }
    });
    getDelete().setEnabled(false);
    getDelete().setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));
    toolMenu.addSeparator();
    toolMenu.add(getDelete());

    setEnter(new JMenuItem("Enter Curve"));
    getEnter().addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            frame.enterCurve();
        }
    });
    getEnter().setEnabled(false);
    getEnter().setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));
    toolMenu.add(getEnter());

    fit = new JMenuItem("Fit Curve");
    fit.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            frame.fitCurves();
        }
    });
    fit.setEnabled(false);
    fit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, 0));
    toolMenu.add(fit);
    toolMenu.addSeparator();

    // TODO remove this later
    // JMenuItem runTestScript = new JMenuItem ("Run Testing Script");
    // runTestScript.addActionListener (new ActionListener(){
    // public void actionPerformed (ActionEvent event){
    // try{frame.testingScript();}
    // catch(IOException e){System.out.println("Script Error");}
    // }});
    // runTestScript.setAccelerator (KeyStroke.getKeyStroke(KeyEvent.VK_S, 0));
    // toolMenu.add(runTestScript);
    JCheckBoxMenuItem toggleCtrlPtAdjustment = new JCheckBoxMenuItem("Enable Control Point Adjustment");
    toggleCtrlPtAdjustment.setState(frame.isEnableCtrlPtAdjustment());
    toggleCtrlPtAdjustment.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            frame.setEnableCtrlPtAdjustment(!frame.isEnableCtrlPtAdjustment());
            ;
        }
    });
    toggleCtrlPtAdjustment.setEnabled(true);
    toolMenu.add(toggleCtrlPtAdjustment);

    this.add(toolMenu);

    // Navigation Menu
    // TODO FIX action listeners to these.
    JMenu navigateMenu = new JMenu("Navigate");
    prevFrame = new JMenuItem("Previous Frame");
    nextFrame = new JMenuItem("Next Frame");
    prevKeyframe = new JMenuItem("Previous Keyframe");
    nextKeyframe = new JMenuItem("Next Keyframe");
    prevFrame.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, ActionEvent.ALT_MASK));
    nextFrame.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, ActionEvent.ALT_MASK));
    prevKeyframe.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, DEFAULT_MASK));
    nextKeyframe.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, DEFAULT_MASK));
    prevFrame.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            frame.getControlPanel().getCurrentLayerSlider()
                    .setValue(Math.max(frame.getControlPanel().getCurrentLayerSlider().getValue() - 1,
                            frame.getControlPanel().getCurrentLayerSlider().getMinimum()));
        }
    });
    nextFrame.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            frame.getControlPanel().getCurrentLayerSlider()
                    .setValue(Math.min(frame.getControlPanel().getCurrentLayerSlider().getValue() + 1,
                            frame.getControlPanel().getCurrentLayerSlider().getMaximum()));
        }
    });
    prevKeyframe.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
        }
    });
    nextKeyframe.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
        }
    });
    prevFrame.setEnabled(false);
    nextFrame.setEnabled(false);
    prevKeyframe.setEnabled(false);
    nextKeyframe.setEnabled(false);
    navigateMenu.add(prevFrame);
    navigateMenu.add(nextFrame);
    navigateMenu.add(prevKeyframe);
    navigateMenu.add(nextKeyframe);
    this.add(navigateMenu);

    // Image options.
    JMenu imageMenu = new JMenu("Image");

    // Brightness and Contrast tool. Taken from ImageJ.
    adjustBrightnessContrast = new JMenuItem("Adjust Brightness/Contrast");
    adjustBrightnessContrast.setEnabled(false);
    adjustBrightnessContrast.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            ContrastAdjuster c = new ContrastAdjuster(frame);
            c.run("Brightness/Contrast...[C]");
        }
    });
    imageMenu.add(adjustBrightnessContrast);
    this.add(imageMenu);

    // Zoom-In and Zoom-Out Commands
    JMenu viewMenu = new JMenu("View");
    zoomIn = new JMenuItem("Zoom In");
    zoomOut = new JMenuItem("Zoom Out");
    zoomIn.addActionListener(new ZoomInListener(frame.getControlPanel()));
    zoomOut.addActionListener(new ZoomOutListener(frame.getControlPanel()));
    zoomIn.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS, DEFAULT_MASK));
    zoomOut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, DEFAULT_MASK));
    zoomIn.setEnabled(false);
    zoomOut.setEnabled(false);

    // Menu Item for showing bounding boxes
    setBoundingBoxMenu(new JCheckBoxMenuItem("Show Bounding Boxes"));
    getBoundingBoxMenu().setState(false);
    getBoundingBoxMenu().addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent a) {
            frame.drawImageOverlay();
        }
    });
    getBoundingBoxMenu().setEnabled(false);

    // Menu Item for choosing the x-axis values for the curvature and intensity
    // display
    // For instance, you can display x vs. curvature, or current arc length vs
    // curvature, or the point index vs curvature
    // The default is the point index.
    distributionDisplay = DEFAULT_DISTRIBUTION_DISPLAY;
    JMenu xAxisSubmenu = new JMenu("Curve Distribution X-Axis:");
    ButtonGroup xAxisGroup = new ButtonGroup();
    JMenuItem xValue = new JCheckBoxMenuItem("X-Coordinate");
    JMenuItem curveLength = new JCheckBoxMenuItem("Arc Length");
    JMenuItem pointIndex = new JCheckBoxMenuItem("Point Index");
    xAxisGroup.add(xValue);
    xAxisGroup.add(curveLength);
    xAxisGroup.add(pointIndex);
    xAxisSubmenu.add(xValue);
    xAxisSubmenu.add(curveLength);
    xAxisSubmenu.add(pointIndex);
    xValue.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent a) {
            distributionDisplay = 0;
            frame.getInfoPanel().updateHistograms();
        }
    });
    curveLength.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent a) {
            distributionDisplay = 1;
            frame.getInfoPanel().updateHistograms();
        }
    });
    pointIndex.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent a) {
            distributionDisplay = 2;
            frame.getInfoPanel().updateHistograms();
        }
    });
    if (DEFAULT_DISTRIBUTION_DISPLAY == 0) {
        xValue.setSelected(true);
    } else if (DEFAULT_DISTRIBUTION_DISPLAY == 1) {
        curveLength.setSelected(true);
    } else {
        pointIndex.setSelected(true);
    }

    // Menu Item for scaling curve strokes when zooming in or out
    setScaleCurvesMenu(new JCheckBoxMenuItem("Scale Curve Strokes"));
    getScaleCurvesMenu().setState(true);
    getScaleCurvesMenu().addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent a) {
            frame.drawImageOverlay();
        }
    });
    getScaleCurvesMenu().setEnabled(false);

    // Menu Item for image antialiasing
    setAntialiasingMenu(new JCheckBoxMenuItem("Enable Antialiasing"));
    getAntialiasingMenu().setState(false);
    getAntialiasingMenu().addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent a) {
            frame.setScaledImage(frame.getControlPanel().getScaleSlider().getValue() / 100.0);
            frame.drawImageOverlay();
        }
    });
    getAntialiasingMenu().setEnabled(false);

    // Menu Item for displaying tangent and normal curves.
    setTangentMenu(new JCheckBoxMenuItem("Show Tangent and Normal Vectors"));
    getTangentMenu().setState(false);
    getTangentMenu().addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent a) {
            frame.drawImageOverlay();
        }
    });
    getTangentMenu().setEnabled(false);

    viewMenu.add(zoomIn);
    viewMenu.add(zoomOut);
    viewMenu.addSeparator();
    viewMenu.add(xAxisSubmenu);
    viewMenu.addSeparator();
    viewMenu.add(getScaleCurvesMenu());
    viewMenu.add(getTangentMenu());
    viewMenu.add(getBoundingBoxMenu());
    viewMenu.add(getAntialiasingMenu());
    this.add(viewMenu);

    // Sets a "Help" menu list
    JMenu helpMenu = new JMenu("Help");
    helpMenu.setMnemonic('H');

    // Adds an "About" option to the menu list
    JMenuItem aboutMenuItem = new JMenuItem("About...", 'A');
    aboutMenuItem.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            JOptionPane.showMessageDialog(frame, "Developed by the Brouhard lab, 2016-2017.",
                    KappaFrame.APPLICATION_NAME, JOptionPane.INFORMATION_MESSAGE);
        }
    });

    // Adds a link to the User Manual
    JMenuItem userManualLink = new JMenuItem("User Manual");
    userManualLink.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            try {
                if (Desktop.isDesktopSupported()) {
                    Desktop.getDesktop().browse(new URI(
                            "https://dl.dropboxusercontent.com/u/157117/KappaFrame%20User%20Manual.pdf"));
                }
            } catch (Exception e) {
                System.out.println("Incorrect URL Syntax");
            }
            ;
        }
    });

    // Adds all newly created menu items to the "Help" list
    helpMenu.add(userManualLink);
    helpMenu.add(aboutMenuItem);
    this.add(helpMenu);
}

From source file:us.daveread.basicquery.BasicQuery.java

/**
 * File menu setup/*from ww w  .j  av a  2  s .  c om*/
 * 
 * @return The file menu
 */
private JMenu fileMenu() {
    JMenu menu;

    // File Menu
    menu = new JMenu(Resources.getString("mnuFileLabel"));
    menu.setMnemonic(Resources.getChar("mnuFileAccel"));
    menu.getAccessibleContext().setAccessibleDescription(Resources.getString("mnuFileDesc"));

    // File | Open SQL File
    fileOpenSQL = new JMenuItem(Resources.getString("mnuFileOpenLabel"));
    fileOpenSQL.setAccelerator(
            KeyStroke.getKeyStroke(Resources.getChar("mnuFileOpenAccel"), ActionEvent.ALT_MASK));
    fileOpenSQL.setMnemonic(Resources.getChar("mnuFileOpenAccel"));
    fileOpenSQL.getAccessibleContext().setAccessibleDescription(Resources.getString("mnuFileOpenDesc"));
    fileOpenSQL.addActionListener(this);
    fileOpenSQL.setEnabled(true);
    menu.add(fileOpenSQL);

    menu.addSeparator();

    // File | Log Stats
    fileLogStats = new JCheckBoxMenuItem(Resources.getString("mnuFileLogStatsLabel"));
    fileLogStats.setAccelerator(
            KeyStroke.getKeyStroke(Resources.getChar("mnuFileLogStatsAccel"), ActionEvent.ALT_MASK));
    fileLogStats.setMnemonic(Resources.getChar("mnuFileLogStatsAccel"));
    fileLogStats.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuFileLogStatsAccel", DBSTATS_NAME));
    fileLogStats.setEnabled(true);
    fileLogStats.setSelected(false);
    menu.add(fileLogStats);

    // File | Log Results
    fileLogResults = new JCheckBoxMenuItem(Resources.getString("mnuFileLogResultsLabel"));
    fileLogResults.setAccelerator(
            KeyStroke.getKeyStroke(Resources.getChar("mnuFileLogResultsAccel"), ActionEvent.ALT_MASK));
    fileLogResults.setMnemonic(Resources.getString("mnuFileLogResultsAccel").charAt(0));
    fileLogResults.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuFileLogResultsDesc", DBRESULTS_NAME));
    fileLogResults.setEnabled(true);
    fileLogResults.setSelected(false);
    menu.add(fileLogResults);

    menu.addSeparator();

    // File | Export Results As CSV
    fileSaveAsCSV = new JMenuItem(Resources.getString("mnuFileExportCSVLabel"));
    fileSaveAsCSV.setAccelerator(
            KeyStroke.getKeyStroke(Resources.getChar("mnuFileExportCSVAccel"), ActionEvent.ALT_MASK));
    fileSaveAsCSV.setMnemonic(Resources.getChar("mnuFileExportCSVAccel"));
    fileSaveAsCSV.getAccessibleContext().setAccessibleDescription(Resources.getString("mnuFileExportCSVDesc"));
    fileSaveAsCSV.addActionListener(this);
    fileSaveAsCSV.setEnabled(false);
    menu.add(fileSaveAsCSV);

    // File | Export Results As Triples
    fileSaveAsTriples = new JMenuItem(Resources.getString("mnuFileExportTriplesLabel"));
    fileSaveAsTriples.setAccelerator(
            KeyStroke.getKeyStroke(Resources.getChar("mnuFileExportTriplesAccel"), ActionEvent.ALT_MASK));
    fileSaveAsTriples.setMnemonic(Resources.getChar("mnuFileExportTriplesAccel"));
    fileSaveAsTriples.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuFileExportTriplesDesc"));
    fileSaveAsTriples.addActionListener(new ExportResultsAsTriplesListener());
    fileSaveAsTriples.setEnabled(false);
    menu.add(fileSaveAsTriples);

    // File | Save BLOBs
    fileSaveBLOBs = new JMenuItem(Resources.getString("mnuFileSaveBLOBLabel"));
    fileSaveBLOBs.setAccelerator(
            KeyStroke.getKeyStroke(Resources.getChar("mnuFileSaveBLOBAccel"), ActionEvent.ALT_MASK));
    fileSaveBLOBs.setMnemonic(Resources.getChar("mnuFileSaveBLOBAccel"));
    fileSaveBLOBs.getAccessibleContext().setAccessibleDescription(Resources.getString("mnuFileSaveBLOBDesc"));
    fileSaveBLOBs.addActionListener(this);
    fileSaveBLOBs.setEnabled(false);
    menu.add(fileSaveBLOBs);

    menu.addSeparator();

    // File | Raw Export
    fileExportsRaw = new JCheckBoxMenuItem(Resources.getString("mnuFileRawExportLabel"));
    fileExportsRaw.setMnemonic(Resources.getChar("mnuFileRawExportAccel"));
    fileExportsRaw.getAccessibleContext().setAccessibleDescription(Resources.getString("mnuFileRawExportDesc"));
    fileExportsRaw.setEnabled(true);
    fileExportsRaw.setSelected(false);
    menu.add(fileExportsRaw);

    // File | No CR Added to Export
    fileNoCRAddedToExportRows = new JCheckBoxMenuItem(Resources.getString("mnuFileNoCRLabel"));
    fileNoCRAddedToExportRows.setMnemonic(Resources.getChar("mnuFileNoCRAccel"));
    fileNoCRAddedToExportRows.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuFileNoCRDesc"));
    fileNoCRAddedToExportRows.setEnabled(true);
    fileNoCRAddedToExportRows.setSelected(false);
    menu.add(fileNoCRAddedToExportRows);

    menu.addSeparator();

    fileExit = new JMenuItem(Resources.getString("mnuFileExitLabel"));
    fileExit.setAccelerator(
            KeyStroke.getKeyStroke(Resources.getChar("mnuFileExitAccel"), ActionEvent.ALT_MASK));
    fileExit.setMnemonic(Resources.getChar("mnuFileExitAccel"));
    fileExit.getAccessibleContext().setAccessibleDescription(Resources.getString("mnuFileExitDesc"));
    fileExit.addActionListener(this);
    fileExit.setEnabled(true);
    menu.add(fileExit);

    return menu;
}

From source file:us.daveread.basicquery.BasicQuery.java

/**
 * Configuration menu setup/*  w  w w . j av a 2 s .c  o  m*/
 * 
 * @return The configuration menu
 */
private JMenu configurationMenu() {
    JMenu menu;
    JMenu subMenu;
    ButtonGroup buttonGroup;

    // Configuration Menu
    menu = new JMenu(Resources.getString("mnuSetupLabel"));
    menu.setMnemonic(Resources.getChar("mnuSetupAccel"));
    menu.getAccessibleContext().setAccessibleDescription(Resources.getString("mnuSetupDesc"));

    menu.add(languageMenu());

    // Setup | Font
    configFont = new JMenuItem(Resources.getString("mnuConfigFontLabel"));
    configFont.setMnemonic(Resources.getChar("mnuConfigFontAccel"));
    configFont.getAccessibleContext().setAccessibleDescription(Resources.getString("mnuConfigFontDesc"));
    configFont.addActionListener(this);
    configFont.setEnabled(true);
    menu.add(configFont);

    // Setup | Display DB Server Info
    subMenu = new JMenu(Resources.getString("mnuSetupDBServerLabel"));
    subMenu.setMnemonic(Resources.getChar("mnuSetupDBServerAccel"));
    subMenu.getAccessibleContext().setAccessibleDescription(Resources.getString("mnuSetupDBServerDesc"));
    menu.add(subMenu);

    // Configuration | Display DB Server Info | None
    configDisplayDBServerInfoNone = new JRadioButtonMenuItem(Resources.getString("mnuSetupDBServerNoneLabel"));
    configDisplayDBServerInfoNone.setMnemonic(Resources.getChar("mnuSetupDBServerNoneAccel"));
    configDisplayDBServerInfoNone.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupDBServerNoneDesc"));
    subMenu.add(configDisplayDBServerInfoNone);

    // Configuration | Display DB Server Info | Brief
    configDisplayDBServerInfoShort = new JRadioButtonMenuItem(
            Resources.getString("mnuSetupDBServerBriefLabel"));
    configDisplayDBServerInfoShort.setMnemonic(Resources.getChar("mnuSetupDBServerBriefAccel"));
    configDisplayDBServerInfoShort.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupDBServerBriefDesc"));
    subMenu.add(configDisplayDBServerInfoShort);

    // Configuration | Display DB Server Info | Long
    configDisplayDBServerInfoLong = new JRadioButtonMenuItem(Resources.getString("mnuSetupDBServerLongLabel"));
    configDisplayDBServerInfoLong.setMnemonic(Resources.getChar("mnuSetupDBServerLongAccel"));
    configDisplayDBServerInfoLong.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupDBServerLongDesc"));
    subMenu.add(configDisplayDBServerInfoLong);

    buttonGroup = new ButtonGroup();
    buttonGroup.add(configDisplayDBServerInfoNone);
    buttonGroup.add(configDisplayDBServerInfoLong);
    buttonGroup.add(configDisplayDBServerInfoShort);

    // Default is short display of DB server info
    configDisplayDBServerInfoShort.setSelected(true);

    // Setup | Table Row Coloring
    subMenu = new JMenu(Resources.getString("mnuSetupRowColorLabel"));
    subMenu.setMnemonic(Resources.getChar("mnuSetupRowColorAccel"));
    subMenu.getAccessibleContext().setAccessibleDescription(Resources.getString("mnuSetupRowColorDesc"));
    menu.add(subMenu);

    // Setup | Table Row Coloring | None
    configTableColoringNone = new JRadioButtonMenuItem(Resources.getString("mnuSetupRowColorNoneLabel"));
    configTableColoringNone.setMnemonic(Resources.getChar("mnuSetupRowColorNoneAccel"));
    configTableColoringNone.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupRowColorNoneDesc"));
    configTableColoringNone.addActionListener(this);
    subMenu.add(configTableColoringNone);

    // Setup | Table Row Coloring | Green Bar
    configTableColoringGreenBar = new JRadioButtonMenuItem(
            Resources.getString("mnuSetupRowColorGreenBarLabel"));
    configTableColoringGreenBar.setMnemonic(Resources.getChar("mnuSetupRowColorGreenBarAccel"));
    configTableColoringGreenBar.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupRowColorGreenBarDesc"));
    configTableColoringGreenBar.addActionListener(this);
    subMenu.add(configTableColoringGreenBar);

    // Setup | Table Row Coloring | Yellow Bar
    configTableColoringYellowBar = new JRadioButtonMenuItem(
            Resources.getString("mnuSetupRowColorYellowBarLabel"));
    configTableColoringYellowBar.setMnemonic(Resources.getChar("mnuSetupRowColorYellowBarAccel"));
    configTableColoringYellowBar.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupRowColorYellowBarDesc"));
    configTableColoringYellowBar.addActionListener(this);
    subMenu.add(configTableColoringYellowBar);

    subMenu.addSeparator();

    // Setup | Table Row Coloring | User Defined
    configTableColoringUserDefined = new JRadioButtonMenuItem(
            Resources.getString("mnuSetupRowColorUserDefLabel"));
    configTableColoringUserDefined.setMnemonic(Resources.getChar("mnuSetupRowColorUserDefAccel"));
    configTableColoringUserDefined.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupRowColorUserDefDesc"));
    configTableColoringUserDefined.addActionListener(this);
    subMenu.add(configTableColoringUserDefined);

    buttonGroup = new ButtonGroup();
    buttonGroup.add(configTableColoringNone);
    buttonGroup.add(configTableColoringGreenBar);
    buttonGroup.add(configTableColoringYellowBar);
    buttonGroup.add(configTableColoringUserDefined);

    // Default is no special coloring of data rows
    configTableColoringNone.setSelected(true);

    menu.addSeparator();

    // Configuration | Associate SQL and Connect URL
    configHistoryAssocSQLAndConnect = new JCheckBoxMenuItem(Resources.getString("mnuSetupAssocSQLURLLabel"));
    configHistoryAssocSQLAndConnect.setMnemonic(Resources.getChar("mnuSetupAssocSQLURLAccel"));
    configHistoryAssocSQLAndConnect.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupAssocSQLURLDesc"));
    configHistoryAssocSQLAndConnect.setEnabled(true);
    menu.add(configHistoryAssocSQLAndConnect);

    // Configuration | Parse SQL at Semi-Colons
    configParseSemicolons = new JCheckBoxMenuItem(Resources.getString("mnuSetupParseSQLSemicolonLabel"));
    configParseSemicolons.setMnemonic(Resources.getChar("mnuSetupParseSQLSemicolonAccel"));
    configParseSemicolons.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupParseSQLSemicolonDesc"));
    configParseSemicolons.setEnabled(true);
    menu.add(configParseSemicolons);

    menu.addSeparator();

    // Configuration | Display Column Data Type
    configDisplayColumnDataType = new JCheckBoxMenuItem(Resources.getString("mnuSetupDispColTypeLabel"));
    configDisplayColumnDataType.setMnemonic(Resources.getChar("mnuSetupDispColTypeAccel"));
    configDisplayColumnDataType.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupDispColTypeDesc"));
    configDisplayColumnDataType.setEnabled(true);
    configDisplayColumnDataType.setSelected(false);
    menu.add(configDisplayColumnDataType);

    // Configuration | Display Client Info
    configDisplayClientInfo = new JCheckBoxMenuItem(Resources.getString("mnuSetupClientInfoLabel"));
    configDisplayClientInfo.setMnemonic(Resources.getChar("mnuSetupClientInfoAccel"));
    configDisplayClientInfo.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupClientInfoDesc"));
    configDisplayClientInfo.setEnabled(true);
    configDisplayClientInfo.setSelected(false);
    menu.add(configDisplayClientInfo);

    menu.addSeparator();

    // Configuration | Save Password
    configSavePassword = new JCheckBoxMenuItem(Resources.getString("mnuSetupSavePasswordLabel"));
    configSavePassword.setMnemonic(Resources.getChar("mnuSetupSavePasswordAccel"));
    configSavePassword.getAccessibleContext()
            .setAccessibleDescription(Resources.getString("mnuSetupSavePasswordDesc"));
    configSavePassword.setEnabled(true);
    configSavePassword.setSelected(false);
    menu.add(configSavePassword);

    return menu;
}

From source file:us.paulevans.basicxslt.BasicXSLTFrame.java

/**
 * Create the menubar./*from  w  w  w.  j av a2 s.co  m*/
 *
 */
private void buildMenuBar() {

    // local declarations...
    JMenuBar menuBar;
    JMenu help, file, validation, view;

    // build the file menu and associated menu items...
    file = new JMenu(stringFactory.getString(LabelStringFactory.MF_FILE_MENU));
    file.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_FILE_MENU));
    resetForm = new JMenuItem(stringFactory.getString(LabelStringFactory.MF_FILE_RESET_FORM_MI));
    resetForm.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_FILE_RESET_FORM_MI));
    resetForm.addActionListener(this);
    file.add(resetForm);
    file.add(new JSeparator());
    file.add(loadConfiguration = new JMenuItem(
            stringFactory.getString(LabelStringFactory.MF_FILE_LOAD_CONFIGURATION_MI)));
    loadConfiguration.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_FILE_LOAD_CONFIGURATION_MI));
    file.add(saveConfiguration = new JMenuItem(
            stringFactory.getString(LabelStringFactory.MF_FILE_SAVE_CONFIGURATION_MI)));
    saveConfiguration.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_FILE_SAVE_CONFIGURATION_MI));
    file.add(saveAsConfiguration = new JMenuItem(
            stringFactory.getString(LabelStringFactory.MF_FILE_SAVE_CONFIGURATION_AS_MI)));
    saveAsConfiguration
            .setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_FILE_SAVE_CONFIGURATION_AS_MI));
    loadConfiguration.addActionListener(this);
    saveConfiguration.addActionListener(this);
    saveAsConfiguration.addActionListener(this);
    file.add(new JSeparator());
    exit = new JMenuItem(stringFactory.getString(LabelStringFactory.MF_FILE_EXIT_MI));
    exit.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_FILE_EXIT_MI));
    exit.addActionListener(this);
    file.add(exit);

    // build the validation menu and associated menu items...
    validation = new JMenu(stringFactory.getString(LabelStringFactory.MF_VALIDATION_MENU));
    validation.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_VALIDATION_MENU));
    validation.add(checkSaxWarning = new JCheckBoxMenuItem(
            stringFactory.getString(LabelStringFactory.MF_VALIDATION_CHECK_SAX_WARNINGS_MI)));
    checkSaxWarning
            .setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_VALIDATION_CHECK_SAX_WARNINGS_MI));
    validation.add(checkSaxError = new JCheckBoxMenuItem(
            stringFactory.getString(LabelStringFactory.MF_VALIDATION_CHECK_SAX_ERRORS_MI)));
    checkSaxError.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_VALIDATION_CHECK_SAX_ERRORS_MI));
    validation.add(checkSaxFatalError = new JCheckBoxMenuItem(
            stringFactory.getString(LabelStringFactory.MF_VALIDATION_CHECK_SAX_FATAL_MI)));
    checkSaxFatalError
            .setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_VALIDATION_CHECK_SAX_FATAL_MI));

    // build the view menu and associate menu items...
    view = new JMenu(stringFactory.getString(LabelStringFactory.MF_VIEW_MENU));
    view.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_VIEW_MENU));
    view.add(transformTimings = new JMenuItem(
            stringFactory.getString(LabelStringFactory.MF_VIEW_LAST_TIMINGS_MI)));
    transformTimings.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_VIEW_LAST_TIMINGS_MI));
    transformTimings.setEnabled(false);
    transformTimings.addActionListener(this);

    // build the help menu and associated menu items...
    help = new JMenu(stringFactory.getString(LabelStringFactory.MF_HELP_MENU));
    help.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_HELP_MENU));
    about = new JMenuItem(stringFactory.getString(LabelStringFactory.MF_HELP_ABOUT_MI));
    about.setMnemonic(stringFactory.getMnemonic(LabelStringFactory.MF_HELP_ABOUT_MI));
    about.addActionListener(this);
    help.add(about);

    // build the menubar...
    menuBar = new JMenuBar();
    menuBar.add(file);
    menuBar.add(validation);
    menuBar.add(view);
    menuBar.add(help);
    setJMenuBar(menuBar);
}