private JMenu createEditMenu() {

		String s = getInternationalText("Edit");
		JMenu menu = new JMenu(s != null ? s : "Edit");

		s = getInternationalText("Undo");
		JMenuItem mi = new JMenuItem(s != null ? s : "Undo");
		mi.setEnabled(false);
		menu.add(mi);

		s = getInternationalText("Redo");
		mi = new JMenuItem(s != null ? s : "Redo");
		mi.setEnabled(false);
		menu.add(mi);
		menu.addSeparator();

		mi = new JMenuItem(view.getActionMap().get("cut"));
		s = getInternationalText("Cut");
		if (s != null)
			mi.setText(s);
		menu.add(mi);

		mi = new JMenuItem(view.getActionMap().get("copy"));
		s = getInternationalText("Copy");
		if (s != null)
			mi.setText(s);
		menu.add(mi);

		mi = new JMenuItem(view.getActionMap().get("paste"));
		s = getInternationalText("Paste");
		if (s != null)
			mi.setText(s);
		menu.add(mi);

		mi = new JMenuItem(view.getActionMap().get("invert selection"));
		s = getInternationalText("InvertSelection");
		if (s != null)
			mi.setText(s);
		menu.add(mi);
		menu.addSeparator();

		s = getInternationalText("Annotation");
		JMenu subMenu = new JMenu(s != null ? s : "Annotation");
		subMenu.setIcon(IconPool.getIcon("annotation"));
		menu.add(subMenu);
		menu.addSeparator();

		s = getInternationalText("AddTextBox");
		mi = new JRadioButtonMenuItem(s != null ? s : "Add Text Box");
		mi.setToolTipText("Add a text box");
		mi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				view.setActionID(DRAW_ID);
				view.setMode(MolecularView.DEFAULT_MODE);
				view.inputTextBox();
			}
		});
		subMenu.add(mi);
		toolBarButtonGroup.add(mi);

		s = getInternationalText("AddLine");
		mi = new JRadioButtonMenuItem(s != null ? s : "Add Line");
		mi.setToolTipText("Draw a line");
		mi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				view.setActionID(DRAW_ID);
				view.setMode(MolecularView.LINE_MODE);
			}
		});
		subMenu.add(mi);
		toolBarButtonGroup.add(mi);

		s = getInternationalText("AddRectangle");
		mi = new JRadioButtonMenuItem(s != null ? s : "Add Rectangle");
		mi.setToolTipText("Draw a rectangle");
		mi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				view.setActionID(DRAW_ID);
				view.setMode(MolecularView.RECT_MODE);
			}
		});
		subMenu.add(mi);
		toolBarButtonGroup.add(mi);

		s = getInternationalText("AddEllipse");
		mi = new JRadioButtonMenuItem(s != null ? s : "Add Ellipse");
		mi.setToolTipText("Draw an ellipse");
		mi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				view.setActionID(DRAW_ID);
				view.setMode(MolecularView.ELLIPSE_MODE);
			}
		});
		subMenu.add(mi);
		toolBarButtonGroup.add(mi);

		mi = new JMenuItem(new ResizeAction(this));
		s = getInternationalText("ResizeContainer");
		mi.setText((s != null ? s : mi.getText()) + "...");
		menu.add(mi);

		mi = new JMenuItem(new ChangeTimeStepAction(this));
		s = getInternationalText("ChangeTimeStep");
		mi.setText((s != null ? s : mi.getText()) + "...");
		menu.add(mi);

		return menu;

	}