private void makeMenuBar() {
          m_menuBar = new JMenuBar();
          JMenu fileMenu = new JMenu("File");
          fileMenu.setMnemonic('F');

          m_menuBar.add(fileMenu);
          fileMenu.add(a_new);
          fileMenu.add(a_load);
          fileMenu.add(a_save);
          fileMenu.add(a_saveas);
          fileMenu.addSeparator();
          fileMenu.add(a_print);
          fileMenu.add(a_export);
          fileMenu.addSeparator();
          fileMenu.add(a_quit);
          JMenu editMenu = new JMenu("Edit");
          editMenu.setMnemonic('E');
          m_menuBar.add(editMenu);
          editMenu.add(a_undo);
          editMenu.add(a_redo);
          editMenu.addSeparator();
          editMenu.add(a_selectall);
          editMenu.add(a_delnode);
          editMenu.add(a_cutnode);
          editMenu.add(a_copynode);
          editMenu.add(a_pastenode);
          editMenu.addSeparator();
          editMenu.add(a_addnode);
          editMenu.add(a_addarc);
          editMenu.add(a_delarc);
          editMenu.addSeparator();
          editMenu.add(a_alignleft);
          editMenu.add(a_alignright);
          editMenu.add(a_aligntop);
          editMenu.add(a_alignbottom);
          editMenu.add(a_centerhorizontal);
          editMenu.add(a_centervertical);
          editMenu.add(a_spacehorizontal);
          editMenu.add(a_spacevertical);

          JMenu toolMenu = new JMenu("Tools");
          toolMenu.setMnemonic('T');
          toolMenu.add(a_networkgenerator);
          toolMenu.add(a_datagenerator);
          toolMenu.add(a_datasetter);
          toolMenu.add(a_learn);
          toolMenu.add(a_learnCPT);
          toolMenu.addSeparator();
          toolMenu.add(a_layout);
          toolMenu.addSeparator();
          final JCheckBoxMenuItem viewMargins = new JCheckBoxMenuItem("Show Margins", false);
          viewMargins.addActionListener(new ActionListener() {
                  public void actionPerformed(ActionEvent ae) {
                          boolean bPrev = m_bViewMargins; 
                          m_bViewMargins = viewMargins.getState();
                          if (bPrev == false && viewMargins.getState() == true) {
                                  updateStatus();
                          }
                          repaint();
                  }
          });
          toolMenu.add(viewMargins);
          final JCheckBoxMenuItem viewCliques = new JCheckBoxMenuItem("Show Cliques", false);
          viewCliques.addActionListener(new ActionListener() {
                  public void actionPerformed(ActionEvent ae) {
                          boolean bPrev = m_bViewCliques; 
                          m_bViewCliques = viewCliques.getState();
                          if (bPrev == false && viewCliques.getState() == true) {
                                  updateStatus();
                          }
                          repaint();
                  }
          });
          toolMenu.add(viewCliques);

          m_menuBar.add(toolMenu);
          JMenu viewMenu = new JMenu("View");
          viewMenu.setMnemonic('V');
          m_menuBar.add(viewMenu);
          viewMenu.add(a_zoomin);
          viewMenu.add(a_zoomout);
          viewMenu.addSeparator();
          viewMenu.add(a_viewtoolbar);
          viewMenu.add(a_viewstatusbar);

          JMenu helpMenu = new JMenu("Help");
          helpMenu.setMnemonic('H');
          m_menuBar.add(helpMenu);
          helpMenu.add(a_help);
          helpMenu.add(a_about);
	}