Package xgenerator.ui.swing.adapter

Source Code of xgenerator.ui.swing.adapter.MenuAdapter

package xgenerator.ui.swing.adapter;

import java.awt.Component;
import java.awt.Frame;
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;

import xgenerator.ui.swing.AboutDialog;
import xgenerator.ui.swing.JGeneratorFrame;
import xgenerator.ui.swing.HelpContentFrame;
import xgenerator.ui.swing.XGeneratorFrame;
import xgenerator.util.HttpClient;

/**
* <p>
* Title:菜单、按钮Action
* </p>
* <p>
* Description:具体功能见各方法描述
* </p>
* <p>
* Copyright:Copyright (c) 2012
* </p>
*
* @author <a href="mailto:lishushan@gmail.com">liss</a>
* @version 1.0
*/
public class MenuAdapter extends AbstractAction {

  public static final String HOME_COMMAND = "home";
  public static final String METADATA_GENERATOR_COMMAND = "metadataGenerator";
  public static final String QUERY_GENERATOR_COMMAND = "queryGenerator";
  public static final String EXIT_COMMAND = "exit";
 
  public static final String FULL_SCREEN_COMMAND = "fullScreen";
  public static final String NORMAL_SCREEN_COMMAND = "normalScreen";
 
  public static final String PREFERENCES_COMMAND = "preferences";
 
  public static final String HELP_COMMAND = "help";
  public static final String LINK_COMMAND = "link";
  public static final String UPDATE_COMMAND = "update";
  public static final String ABOUT_COMMAND = "about";
 
  /**
   * UI界面
   */
  private Component ui;
 
  private JGeneratorFrame jGeneratorFrame;

  /**
   * constructor
   *
   * @param ui
   */
  public MenuAdapter(Component ui) {
    this.ui = ui;
  }

  /**
   * <p>
   * Title:actionPerformed
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void actionPerformed(ActionEvent e) {
    final String actionCommand = e.getActionCommand();

    if (HOME_COMMAND.equals(actionCommand)) {
      homeActionPerformed(e);
    } else if (METADATA_GENERATOR_COMMAND.equals(actionCommand)) {
      metadataGeneratorActionPerformed(e);
    } else if (QUERY_GENERATOR_COMMAND.equals(actionCommand)) {
      queryGeneratorActionPerformed(e);
    } else if (EXIT_COMMAND.equals(actionCommand)) {
      exitActionPerformed(e);
    } else if (FULL_SCREEN_COMMAND.equals(actionCommand)) {
      fullScreenActionPerformed(e);
    } else if (NORMAL_SCREEN_COMMAND.equals(actionCommand)) {
      normalScreenActionPerformed(e);
    } else if (PREFERENCES_COMMAND.equals(actionCommand)) {
      preferencesActionPerformed(e);
    } else if (HELP_COMMAND.equals(actionCommand)) {
      helpActionPerformed(e);
    } else if (LINK_COMMAND.equals(actionCommand)) {
      linkActionPerformed(e);
    } else if (UPDATE_COMMAND.equals(actionCommand)) {
      updateActionPerformed(e);
    } else if (ABOUT_COMMAND.equals(actionCommand)) {
      aboutActionPerformed(e);
    }
  }

  /**
   * <p>
   * Title:表元数据代码生成器菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void metadataGeneratorActionPerformed(ActionEvent e) {
    if (null == jGeneratorFrame) {
      jGeneratorFrame = new JGeneratorFrame();
    }
    if(!jGeneratorFrame.isVisible()) {
      this.jGeneratorFrame.setVisible(true);
    }
    SwingUtilities.updateComponentTreeUI(jGeneratorFrame);
  }

  /**
   * <p>
   * Title:pdm代码生成器菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void queryGeneratorActionPerformed(ActionEvent e) {
    System.out.println("queryGeneratorActionPerformed");
  }

  /**
   * <p>
   * Title:存储过程代码生成器菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void homeActionPerformed(ActionEvent e) {
    System.out.println("homeActionPerformed");
  }

  /**
   * <p>
   * Title:退出菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void exitActionPerformed(ActionEvent e) {
    if(JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(ui, "确认退出?", "确认", JOptionPane.YES_NO_OPTION)) {
      System.exit(0);
    }
  }
 
  /**
   * <p>
   * Title:全屏菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void fullScreenActionPerformed(ActionEvent e) {
    XGeneratorFrame xgeneratorUI = (XGeneratorFrame) ui;
    xgeneratorUI.setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
    xgeneratorUI.setFullScreen(true);
  }
 
  /**
   * <p>
   * Title:正常屏菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void normalScreenActionPerformed(ActionEvent e) {
    XGeneratorFrame xgeneratorUI = (XGeneratorFrame) ui;
    xgeneratorUI.setExtendedState(java.awt.Frame.NORMAL);
    xgeneratorUI.setFullScreen(false);
  }

  /**
   * <p>
   * Title:设置菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void preferencesActionPerformed(ActionEvent e) {
    System.out.println("preferencesActionPerformed");
  }

  /**
   * <p>
   * Title:帮助菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void helpActionPerformed(ActionEvent e) {
    new HelpContentFrame();
  }
 
  /**
   * <p>
   * Title:链接菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void linkActionPerformed(ActionEvent e) {
    try {
      Runtime.getRuntime().exec("cmd.exe /c start " + "http://liss.iteye.com/");
      //上面的Runtime语句可用此句代替Runtime.getRuntime().exec("explorer+ "http://liss.iteye.com/");
      /*
       * jdk6
      Desktop desktop = Desktop.getDesktop();
      desktop.browse(new URI("URL地址"));
        */
    } catch (Exception ex) {
      JOptionPane.showMessageDialog(ui, ex.getMessage());
    }
  }

  /**
   * <p>
   * Title:更新菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void updateActionPerformed(ActionEvent e) {
    try {
      HttpClient httpClient = new HttpClient();
      String requestUrl = "http://liss.iteye.com/";
      String responseEncoding = "UTF-8";
      //System.out.println(httpClient.doGet(requestUrl, responseEncoding));
      if(true) {
        JOptionPane.showMessageDialog(ui, "恭喜!\n你的XGenerator已经是最新版本。", "XGenerator在线升级", JOptionPane.INFORMATION_MESSAGE);
      } else {
        JOptionPane.showMessageDialog(ui, "你将升级到2.0版本,新增功能和优化点如下:", "XGenerator在线升级", JOptionPane.INFORMATION_MESSAGE);
      }
    } catch (Exception ex) {
      JOptionPane.showMessageDialog(ui, ex.getMessage(), "XGenerator在线升级", JOptionPane.INFORMATION_MESSAGE);
    }
  }

  /**
   * <p>
   * Title:about菜单项
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   */
  public void aboutActionPerformed(ActionEvent e) {
    new AboutDialog((Frame) ui, "关于XGenerator", true);
  }

}
TOP

Related Classes of xgenerator.ui.swing.adapter.MenuAdapter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.