private void initSystray() {
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    image = toolkit.getImage(getClass().getResource("/resources/trayicon.png"));
    //
    jframe = (JFrame) MainForm.getFrames()[0];
    jframe.setIconImage(image);
    PopupMenu menu = new PopupMenu();
    icon = new TrayIcon(image, "Записник", menu);
    tray = SystemTray.getSystemTray();
    // створення значка та меню в треї
    MenuItem closeItem = new MenuItem("Закрити");
    closeItem.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        tray.remove(icon);
        System.exit(0);
      }
    });
    menu.add(closeItem);

    MenuItem showItem = new MenuItem("Показати");
    showItem.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        jframe.setState(u.getInt("jframe.State","0")==0 ? NORMAL : MAXIMIZED_BOTH);
        jframe.setVisible(true);
      }
    });
    menu.add(showItem);

    MouseListener ml;
    ml = new MouseListener() {
      @Override
      public void mouseClicked(MouseEvent e) {
        if (jframe.isVisible()) {
          u.setInt("jframe.ExtendedState",jframe.getExtendedState());
          u.setInt("jframe.State",jframe.getState());
          // зберегти координати і розмір вікна
          u.setInt("jframe.x",jframe.getLocation().x);
          u.setInt("jframe.y",jframe.getLocation().y);
          u.setInt("jframe.width",jframe.getSize().width);
          u.setInt("jframe.height",jframe.getSize().height);
          jframe.setState(JFrame.ICONIFIED);
          jframe.setVisible(false);
        } else {
          // встановити збережений режим відображення головного вікна
          int j = u.getInt("jframe.ExtendedState","0");
          //
          if (j==0) {
            // відновлювати збережені координати і розмір вікна
            jframe.setLocation(u.getInt("jframe.x","0"),
                               u.getInt("jframe.y","0"));
            jframe.setSize(u.getInt("jframe.width","800"),
                           u.getInt("jframe.height","600"));
          }
          // порядок виклику методів 1. setExtendedState(); 2. setVisible();
          // інший порядок не дає вікну отримати фокус (вікно недоступне)
          //System.out.println("NORMAL=" + Frame.NORMAL + " : j=" + j);
          jframe.setExtendedState(j);
          jframe.setState(u.getInt("jframe.State","0")==0 ? NORMAL : MAXIMIZED_BOTH);
          jframe.setVisible(true);

          // незнаю як його витягти на передній план

        }
      }
      @Override
      public void mouseEntered(MouseEvent e) { }
      @Override
      public void mousePressed(MouseEvent e) { }
      @Override
      public void mouseReleased(MouseEvent e) { }
      @Override
      public void mouseExited(MouseEvent e) { }
    };
    //
    icon.addMouseListener(ml);
    icon.setImageAutoSize(true);
    try {
      tray.add(icon);
    } catch (AWTException ex) {
      Logger.getLogger(MainForm.class.getName()).log(Level.SEVERE, null, ex);
    }
    jframe.setVisible(true);
  }