public  void CreateAndShowGUI( final World world, final Logic logic, final MP3Player sound) {   
    
    MainFrame.setSize(600,600);
    MainFrame.add(Menu,  BorderLayout.NORTH);
    MainFrame.add(Panel);
    Panel.setLayout(new GridLayout(world.getSize(),world.getSize()));
    Menu.setLayout(new GridLayout(1,3));
    MainFrame.setResizable(false);
    allButtons = new JButton[world.getSize()][world.getSize()];
    final JButton ChangeBtn = new JButton("Запустить");
    Menu.add(ChangeBtn);
    JButton ClrBtn = new JButton("Убить всех");
    Menu.add(ClrBtn);
    final JButton PlayMusicBtn = new JButton("Включить музыку");
    Menu.add(PlayMusicBtn);
    final Timer timer = new Timer(); 
    
    
    ChangeBtn.addActionListener(new ActionListener() {
      
      Scheduler aScheduler = new Scheduler(world, logic);   

       @Override
       public void actionPerformed(ActionEvent e) {
         
         if(isLifeOn) {
           aScheduler.cancel();
           aScheduler = new Scheduler(world, logic);
           isLifeOn = false;
           ChangeBtn.setLabel("Запустить");
         } else {
            timer.schedule(aScheduler, 0, 100);  //subsequent rate    
            isLifeOn = true;
            ChangeBtn.setLabel("Остановить");
         }
      } // end actionPerformed
     }); // end ChangeBtn.addActionListener
    
    ClrBtn.addActionListener(new ActionListener() { 
      @Override
      public void actionPerformed(ActionEvent e) {
        world.WorldRegeneration();
        Repaint(world);
      }
    }); // end ClrBtn.addActionListener

    PlayMusicBtn.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        if (!isMusicOn) {
          sound.play();
          isMusicOn = true;
          PlayMusicBtn.setLabel("Выключить музыку");
        } else {
          sound.stop();
          isMusicOn = false;
          PlayMusicBtn.setLabel("Включить музыку");
        }
      }
     }); // end ClrBtn.addActionListener
    
    for (int i = 0; i < world.getSize(); i++) {
      for (int j = 0; j < world.getSize(); j++) {
      
        allButtons[i][j] = new JButton();
               
        if (world.getField()[i][j]) {
           (allButtons[i][j]).setBackground(Color.GREEN);
        } else {
           (allButtons[i][j]).setBackground(Color.BLACK);
        }
        Panel.add(allButtons[i][j]);
        createMouseListener(allButtons[i][j], world, i,j);
       
      } //end for j
    } //end for i
    
    MainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    MainFrame.setVisible(true);
  
  } // end CreateAndShowGUI method