protected JMenu createInfoMenu() {
        JMenu menu = new JMenu("Информация");

        Action docProperties = new AbstractAction (){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				
				JTextArea titleField 	= new JTextArea(1,30); 	titleField.setLineWrap(true);		
				JTextArea expertField 	= new JTextArea(4,30);	expertField.setLineWrap(true);
																//expertField.setWrapStyleWord(true);
				JTextArea clientField 	= new JTextArea(1,30);	clientField.setLineWrap(true);
				JTextArea dateField 	= new JTextArea(1,30);	dateField.setLineWrap(true);
				JTextArea commentArea 	= new JTextArea(5,30);	commentArea.setLineWrap(true);
				
				JLabel lt = new JLabel("Название:" );  		lt.setPreferredSize(new Dimension(100, 40));
															lt.setMaximumSize(new Dimension(100, 40));
				JLabel le = new JLabel("Эксперт(ы):" ); 	le.setPreferredSize(new Dimension(100, 40));
															le.setMaximumSize(new Dimension(100, 40));
				JLabel lc = new JLabel("Типируемый:" ); 	lc.setPreferredSize(new Dimension(100, 40));
															lc.setMaximumSize(new Dimension(100, 40));
				JLabel ld = new JLabel("Дата:" );  			ld.setPreferredSize(new Dimension(100, 40));
															ld.setMaximumSize(new Dimension(100, 40));
				JLabel lcm = new JLabel("Примечание:" );	lcm.setPreferredSize(new Dimension(100, 40));
															lcm.setMaximumSize(new Dimension(100, 40));
				
				
				Panel pt = new Panel();
				Panel pe = new Panel(); 
				Panel pc = new Panel(); 
				Panel pd = new Panel(); 
				Panel ppc = new Panel(); 
                Panel panel = new Panel(); 
                //BoxLayout layout  = new BoxLayout (panel,BoxLayout.Y_AXIS);
                panel.setLayout(new BoxLayout (panel,BoxLayout.Y_AXIS));
                
               	pt.add(lt);
               	pt.setMinimumSize(new Dimension(500, 40));
				pt.add(new JScrollPane(titleField, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ));
				pe.add(le);
				pe.setMinimumSize(new Dimension(500, 50));
				pe.add(new JScrollPane(expertField, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ));
				pc.add(lc);
				pc.setMinimumSize(new Dimension(500, 40));
				pc.add(new JScrollPane(clientField, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ));
				pd.add(ld);
				pd.setMinimumSize(new Dimension(500, 40));
				pd.add(new JScrollPane(dateField, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ));
				ppc.add(lcm);
				ppc.setMinimumSize(new Dimension(500, 70));
				ppc.add(new JScrollPane(commentArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER )); 
				
				String title	= (String) aDoc.getProperty(ADocument.TitleProperty);
				String expert 	= (String) aDoc.getProperty(ADocument.ExpertProperty);
				String client 	= (String) aDoc.getProperty(ADocument.ClientProperty);
				String date 	= (String) aDoc.getProperty(ADocument.DateProperty);
				String comment 	= (String) aDoc.getProperty(ADocument.CommentProperty);

				panel.add(pt);
				panel.add(pe);
				panel.add(pc);
				panel.add(pd);
				panel.add(ppc);
				//panel.add(new Panel());
				
				if (title	!=null) 	titleField.setText	(title	);
				if (expert 	!=null) 	
										expertField.setText	(expert );
				if (client 	!=null) 	clientField.setText	(client );
				if (date 	!=null) 	dateField.setText	(date 	);
				if (comment	!=null) 	commentArea.setText	(comment);
				
				
				if(JOptionPane.showOptionDialog(frame, 
						panel, 
						"Информация о документе", 
						JOptionPane.YES_NO_OPTION,
						JOptionPane.INFORMATION_MESSAGE,	
						null,
						new Object[]{"Принять", "Отмена"},
						null
							) == JOptionPane.YES_OPTION){
					
					    	title  	= titleField.getText(); 
					    	expert	= expertField.getText();
					    	client 	= clientField.getText();
					    	date	= dateField.getText();
					    	comment = commentArea.getText();
					    	
					    	Dictionary <Object, Object> properties = aDoc.getDocumentProperties();

					    	
					    	properties.put(ADocument.TitleProperty, 	title);
					    	properties.put(ADocument.ClientProperty, 	client);
					    	properties.put(ADocument.ExpertProperty, 	expert);
					    	properties.put(ADocument.DateProperty, 		date);
					    	properties.put(ADocument.CommentProperty, 	comment);
					    	aDoc.fireADocumentChanged();
					    
				}
							;			
				
			}
        }; 
        
        Action about = new AbstractAction(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				
			JPanel panel = new JPanel();
			panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
			JTextArea info = new JTextArea(6,40);
			info.setEditable(false);
			info.setBackground(panel.getBackground());
			info.setText(		
					"Программа \"Информационный анализ\"\n"+
					"\n"+
					"© Школа системной соционики, Киев, 2010 г.\n"+
					"http://www.socionicasys.ru\n"+
					"Версия: "+ version );
			
			JTextArea licText = new  JTextArea(15,40);
			info.setEditable(false);
			licText.setEditable(false);
			licText.setLineWrap(true);
			licText.setMargin(new Insets(3,3,3,3));
			licText.setWrapStyleWord(true);
			licText.setAutoscrolls(false);
			
			String license = "ВНИМАНИЕ!!! Не удалось отрыть файл лицензии.\n\n" +
					"Согласно условий оригинальной лицензии GNU GPL, программное обеспечение должно поставляться вместе с текстом оригинальной лицензии.\n\n"+
					"Отсутствие такой лицензии может неправомерно ограничивать ваши права как пользователя. \n\n" +
					"Требуйте получение исходной лицензии от поставщика данного программного продукта.\n\n" +
					"Оригинальный текст GNU GPL на английском языке вы можете прочитать здесь: http://www.gnu.org/copyleft/gpl.html";
			
			InputStream is = Analyst.class.getClassLoader().getResourceAsStream("analyst/license.txt");
			InputStreamReader isr = null;
			if (is !=null) {
			BufferedReader br = new BufferedReader(new InputStreamReader(is,Charset.forName("UTF-8")));
			license = "";
			String next;
				try {
					next = br.readLine();
					
							while (next != null){
								license += next+"\n";
								next = br.readLine();
							}
				} catch (IOException e) {
					System.out.println("Ошибка при открытии файла лицензии");
					e.printStackTrace();
				}
			}
			
			licText.setText(license);
			
			JScrollPane licenseScrl = new JScrollPane(licText, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

				licText.getCaret().setDot(0); 
				licText.insert("", 0);

			
			Border border = BorderFactory.createTitledBorder("Лицензия:");
			licenseScrl.setBorder(border);
			
			panel.add(info);
			panel.add(licenseScrl);
				
			JOptionPane.showOptionDialog(frame, 
					panel,
					"О программе",
					JOptionPane.INFORMATION_MESSAGE,
					JOptionPane.PLAIN_MESSAGE,	
					null,
					new Object[]{"Закрыть"},
					null
						);
				
			}
        }; 
        
        docProperties.putValue(Action.NAME, "Свойства документа");
        about.putValue(Action.NAME, "О программе");
        menu.add(docProperties);
        menu.add(about);
        return menu;
    }