Example usage for javax.swing JMenu getComponents

List of usage examples for javax.swing JMenu getComponents

Introduction

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

Prototype

public Component[] getComponents() 

Source Link

Document

Gets all the components in this container.

Usage

From source file:processing.app.Editor.java

protected void buildMenuBar() throws Exception {
    JMenuBar menubar = new JMenuBar();
    final JMenu fileMenu = buildFileMenu();
    fileMenu.addMenuListener(new StubMenuListener() {
        @Override/*from w  w w  . j a  v a  2s .c o  m*/
        public void menuSelected(MenuEvent e) {
            List<Component> components = Arrays.asList(fileMenu.getComponents());
            if (!components.contains(sketchbookMenu)) {
                fileMenu.insert(sketchbookMenu, 2);
            }
            if (!components.contains(sketchbookMenu)) {
                fileMenu.insert(examplesMenu, 3);
            }
            fileMenu.revalidate();
            validate();
        }
    });
    menubar.add(fileMenu);

    menubar.add(buildEditMenu());

    final JMenu sketchMenu = new JMenu(_("Sketch"));
    sketchMenu.addMenuListener(new StubMenuListener() {

        @Override
        public void menuSelected(MenuEvent e) {
            buildSketchMenu(sketchMenu);
            sketchMenu.revalidate();
            validate();
        }
    });
    buildSketchMenu(sketchMenu);
    menubar.add(sketchMenu);

    final JMenu toolsMenu = buildToolsMenu();
    toolsMenu.addMenuListener(new StubMenuListener() {
        @Override
        public void menuSelected(MenuEvent e) {
            List<Component> components = Arrays.asList(fileMenu.getComponents());
            int offset = 0;
            for (JMenu menu : base.getBoardsCustomMenus()) {
                if (!components.contains(menu)) {
                    toolsMenu.insert(menu, numTools + offset);
                    offset++;
                }
            }
            if (!components.contains(serialMenu)) {
                toolsMenu.insert(serialMenu, numTools + offset);
            }
            toolsMenu.revalidate();
            validate();
        }
    });
    menubar.add(toolsMenu);

    menubar.add(buildHelpMenu());
    setJMenuBar(menubar);
}