Package xgenerator.ui.swing

Source Code of xgenerator.ui.swing.JGeneratorFrame

/**
* JGeneratorFrame.java
* 2011-11-20 上午11:45:05
*/
package xgenerator.ui.swing;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.File;
import java.io.InputStream;
import java.util.Properties;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;

import xgenerator.service.MetadataService;
import xgenerator.service.impl.MetadataServiceImpl;
import xgenerator.ui.swing.adapter.DataSourceAdapter;
import xgenerator.ui.swing.adapter.GenerateAdapter;
import xgenerator.ui.swing.adapter.MetadataAdapter;
import xgenerator.ui.swing.adapter.MetadataFileAdapter;
import xgenerator.ui.swing.model.AppFrameworkComboBoxModel;
import xgenerator.ui.swing.model.DatasourceComboBoxModel;
import xgenerator.ui.swing.model.EncodingComboBoxModel;
import xgenerator.ui.swing.model.MetadataTableModel;
import xgenerator.ui.swing.model.PersistenceFrameworkComboBoxModel;
import xgenerator.ui.swing.model.RiaComboBoxModel;
import xgenerator.ui.swing.model.ViewComboBoxModel;
import xgenerator.ui.swing.model.WebFrameworkComboBoxModel;
import xgenerator.util.ResourceUtils;

/**
* <p>
* Title:类的中文名
* </p>
* <p>
* Description:具体功能见各方法描述
* </p>
* <p>
* Copyright:Copyright (c) 2011
* </p>
*
* @author <a href="mailto:lishushan@gmail.com">liss</a>
* @version 1.0
*/
@SuppressWarnings("serial")
public class JGeneratorFrame extends JFrame implements UIConstants {
 
  /**
   * 静态
   */
  private static final Properties properties = new Properties();
  static {
    try {
      InputStream is = ResourceUtils.getClasspathResourceAsStream(SWING_UI_PATH + "generator.properties");
      properties.load(is);
    } catch (Exception ignore) {
    }
  }
 
  public static final String DEFAULT_TABLE_SUFFIX = properties.getProperty("default.table.suffix");
 
  public static final String DEFAULT_PROJECT_LOCATION = properties.getProperty("default.project.location");
 
  public static final String DEFAULT_SOURCE_FOLDER = properties.getProperty("default.source.folder");
  public static final String DEFAULT_CONFIG_FOLDER = properties.getProperty("default.config.folder");
  public static final String DEFAULT_RESOURCES_FOLDER = properties.getProperty("default.resources.folder");
  public static final String DEFAULT_APP_PACKAGE = properties.getProperty("default.app.package");
  public static final String DEFAULT_SUBSYSTEM_PACKAGE = properties.getProperty("default.subsystem.package");
  public static final String DEFAULT_MODULE_PACKAGE = properties.getProperty("default.module.package");
 
  public static final String DEFAULT_WEB_ROOT_FOLDER = properties.getProperty("default.web.root.folder");
  public static final String DEFAULT_WEB_RESOURCES_FOLDER = properties.getProperty("default.web.resources.folder");
  public static final String DEFAULT_WEB_CONFIG_FOLDER = properties.getProperty("default.web.config.folder");
 
  public static final String ACTION_SUFFER = properties.getProperty("custom.actionSuffer");
  public static final String ACTION_FORM_SUFFER = properties.getProperty("custom.actionFormSuffer");
  public static final String SERVICE_SUFFER = properties.getProperty("custom.serviceSuffer");
  public static final String SERVICE_IMPL_SUFFER = properties.getProperty("custom.serviceImplSuffer");
  public static final String DAO_SUFFER = properties.getProperty("custom.daoSuffer");
  public static final String DAO_IMPL_SUFFER = properties.getProperty("custom.daoImplSuffer");
  public static final String METADATA_SUFFER = properties.getProperty("custom.metadataSuffer");
 
  public static final String QUERY_PREFIX = properties.getProperty("custom.queryPrefix");
  public static final String CREATE_PREFIX = properties.getProperty("custom.createPrefix");
  public static final String EDIT_PREFIX = properties.getProperty("custom.editPrefix");
  public static final String VIEW_PREFIX = properties.getProperty("custom.viewPrefix");
  public static final String GRID_PAGE_SUFFER = properties.getProperty("custom.gridSuffer");
  public static final String TREE_PAGE_SUFFER = properties.getProperty("custom.treeSuffer");
 
  public static final String WINDOW_SUFFER = properties.getProperty("custom.windowSuffer");
  public static final String PANEL_SUFFER = properties.getProperty("custom.panelSuffer");
  public static final String GRID_PANEL_SUFFER = properties.getProperty("custom.gridPanelSuffer");
  public static final String TREE_PANEL_SUFFER = properties.getProperty("custom.treePanelSuffer");
 
  /*
   * service
   */
  private MetadataService metadataService;

  /*
   * 查询、加载元数据
   */
  private JComboBox dataSourceComboBox;
  private JButton dataSourceManagerBtn;
  private JComboBox tableComboBox;
  private JTextField filterTableNamePrefixField;  //表名过滤前缀
  private JTextField filterTableNameSufferField;  //表名过滤后缀
  private JTextField filterColumnNamePrefixField;  //列名过滤前缀
  private JButton queryBtn;
  private JButton metadataFileBtn;
 
  /*
   * 元数据table
   */
  private MetadataTable metadataTable;
 
  /*
   * 元数据基本信息
   */
  private JTextField metadataModelNameField;  //元数据模型名称
  private JTextField modelDescriptionField;  //模型描述
  private JComboBox encodingComboBox;
 
  /*
   * JavaEE规范选择
   */
  private ButtonGroup j2eeSpecificationLevelButtonGroup;

  /*
   * 技术架构
   * web层=表示层(view)+控制层(controller)
   */
  private JComboBox viewComboBox; // 表示层技术选择
  private JComboBox webFrameworkComboBox; // web框架类型选择
  private JComboBox appFrameworkComboBox; // 业务层框架类型选择
  private JComboBox persistenceFrameworkComboBox; // 持久层框架类型选择
  private JComboBox riaComboBox; // 富客户技术选择

  /*
   * 项目设置
   */
  private JTextField projectLocationField;
  private JButton projectLocationSelectBtn; // 项目位置选择按钮
  private JTextField srcField;
  private JTextField appConfigField;
  private JTextField appResourcesField;
  private JTextField webRootField;
  private JTextField webConfigField;
  private JTextField webResourcesField;
 
  /*
   * 命名法选择
   */
  private ButtonGroup notationButtonGroup;
 
  /*
   * 个性化设置
   */
  private JTextField packagePrefixField;
  private JTextField subsystemField;
  private JTextField moduleField;
  private JTextField javaModelNameField;  //java模型名称
 
  private JTextField actionSuffer;
  private JTextField actionFormSuffer;
  private JTextField serviceSuffer;
  private JTextField serviceImplSuffer;
  private JTextField daoSuffer;
  private JTextField daoImplSuffer;
  private JTextField metadataSuffer;
 
  private JTextField queryPrefix;
  private JTextField createPrefix;
  private JTextField editPrefix;
  private JTextField viewPrefix;
  private JTextField gridSuffer;
  private JTextField treeSuffer;
 
  private JTextField windowSuffer;
  private JTextField panelSuffer;
  private JTextField gridPanelSuffer;
  private JTextField treePanelSuffer;
 
  /*
   * 代码生成选项
   */
  private JCheckBox viewCodeGenerateCheckBox; // 是否生成表示层代码
  private JCheckBox controllerCodeGenerateCheckBox; // 是否生成控制层代码
  private JCheckBox appCodeGenerateCheckBox; // 是否生成业务层代码
  private JCheckBox persistenceCodeGenerateCheckBox; // 是否生成持久层代码
  private JCheckBox riaCodeGenerateCheckBox; // 是否生成RIA代码
  private JTextField pageStyle;  //页面样式
  private JButton pageStyleSelectBtn;  //样式选择
  private JButton codeGenerateBtn;  //代码生成
 
  private JLabel statusLabel;

  /**
   * constructor
   */
  public JGeneratorFrame() {
    super();
    metadataService = new MetadataServiceImpl();
    initComponents();
    setFaceFeature();
  }

  /**
   * <p>
   * Title:初始化组件
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   */
  private void initComponents() {
    /** Configuration des composants * */
    this.setContentPane(buildContentPane());
  }
 
  /**
   * <p>
   * Title:设置显示特性
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   */
  private void setFaceFeature() {
    this.setTitle("XGenerator");
    this.setIconImage(IconUtils.createIconImage(APP_ICON_IMAGE));

    Toolkit tk = Toolkit.getDefaultToolkit();
    Dimension screenSize = tk.getScreenSize();
    int screenHeight = screenSize.height;
    int screenWidth = screenSize.width;
    // this.setSize(screenWidth / 2, screenHeight / 2);
    // this.setSize(900, 600);
    //this.setSize(screenWidth, screenHeight - 30);
    this.setSize(screenWidth-250, screenHeight - 330);
    pack();
    this.setMinimumSize(new Dimension(800, 600));
    this.setMaximumSize(new Dimension(screenWidth, screenHeight - 30));
    this.setLocation((screenWidth - getWidth()) / 2, (screenHeight - getHeight() - 30) / 2);
    // this.setResizable(false); //
    //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    this.setVisible(true);
  }
 
  /**
   * <p>
   * Title:构造northPanel
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JPanel buildNorthPane() {
    JPanel northPanel = new JPanel();
    northPanel.setLayout(new FlowLayout(FlowLayout.LEFT));

    JLabel datasourceLabel = new JLabel("数据源:");
    datasourceLabel.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "database.png"));
    northPanel.add(datasourceLabel);

    this.dataSourceManagerBtn = new JButton(new DataSourceAdapter(this));
    this.dataSourceManagerBtn.setPreferredSize(new Dimension(30, 30));
    this.dataSourceManagerBtn.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "add.gif"));
    this.dataSourceManagerBtn.setActionCommand(DataSourceAdapter.MANAGER_DATASOURCES_COMMAND);
    northPanel.add(this.dataSourceManagerBtn);
   
    this.dataSourceComboBox = new JComboBox(new DatasourceComboBoxModel());
    this.dataSourceComboBox.setPreferredSize(new Dimension(150, 29));
    this.dataSourceComboBox.addPopupMenuListener(new PopupMenuListener() {// 界面初始化时列表为空,触发下拉列表时,加载数据
      public void popupMenuCanceled(PopupMenuEvent e) {
      }

      public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
      }

      public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
        DatasourceComboBoxModel datasourceComboBoxModel = (DatasourceComboBoxModel) dataSourceComboBox.getModel();
        datasourceComboBoxModel.loadData();
      }
    });
   
    /*
    this.datasourceComboBox.addItemListener(new ItemListener() {
      public void itemStateChanged(ItemEvent e) {
        if (e.getStateChange() == ItemEvent.SELECTED) {
          Object selectedItem = e.getItem();
          String datasourceName = null != selectedItem ? selectedItem.toString() : null;
          System.out.println(datasourceName);
          if (null != datasourceName && !"".equals(datasourceName)) {
            MetadataTableModel metadataTableModel = (MetadataTableModel) metadataTable.getModel();
            metadataTableModel.updateDataVector(datasourceName, null);

            metadataTable.setPreferredTableColumnStyle();
            metadataTable.revalidate();
            metadataTable.updateUI();
          }
        }
      }
    });
    */
    northPanel.add(this.dataSourceComboBox);
   
    JLabel tableLabel = new JLabel("表:");
    tableLabel.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "database_table.png"));
    northPanel.add(tableLabel);
    this.tableComboBox = new JComboBox(new DefaultComboBoxModel());
    this.tableComboBox.setPreferredSize(new Dimension(150, 29));
    this.tableComboBox.addPopupMenuListener(new PopupMenuListener() {
      public void popupMenuCanceled(PopupMenuEvent e) {
      }

      public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
      }

      public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
        try {
          Object selectedItem = dataSourceComboBox.getSelectedItem();
          String datasourceName = null != selectedItem ? selectedItem.toString() : null;
         
          Vector dataVector = metadataService.getTables(datasourceName);
         
          tableComboBox.setModel(new DefaultComboBoxModel(dataVector));
        } catch (Exception ex) {
          JOptionPane.showMessageDialog(null, ex.getMessage(), "错误", JOptionPane.ERROR_MESSAGE);
          ex.printStackTrace();
        }
      }
    });
   
    /*
    this.tableComboBox.addItemListener(new ItemListener() {
      public void itemStateChanged(ItemEvent e) {
        if (e.getStateChange() == ItemEvent.SELECTED) {
          Object selectedItem = e.getItem();
          String tableName = null != selectedItem ? selectedItem.toString() : null;
          System.out.println(tableName);
          if (null != tableName && !"".equals(tableName)) {
            Object datasourceNameObj = dataSourceComboBox.getSelectedItem();
            String datasourceName = null != datasourceNameObj ? datasourceNameObj.toString() : null;
            System.out.println(datasourceName);
           
            MetadataTableModel metadataTableModel = (MetadataTableModel) metadataTable.getModel();
            metadataTableModel.updateDataVector(datasourceName, tableName);

            metadataTable.setPreferredTableColumnStyle();
            metadataTable.revalidate();
            metadataTable.updateUI();
          }
        }
      }
    });
    */
   
    northPanel.add(this.tableComboBox);
   
    northPanel.add(new JLabel("过滤表名前缀:"));
    this.filterTableNamePrefixField = new JTextField();
    this.filterTableNamePrefixField.setPreferredSize(new Dimension(50, 29));
    northPanel.add(this.filterTableNamePrefixField);
   
    northPanel.add(new JLabel("过滤表名后缀:"));
    this.filterTableNameSufferField = new JTextField(DEFAULT_TABLE_SUFFIX);
    this.filterTableNameSufferField.setPreferredSize(new Dimension(30, 29));
    northPanel.add(this.filterTableNameSufferField);
   
//    northPanel.add(new JLabel("列名过滤前缀:"));
//    this.filterColumnNamePrefixField = new JTextField();
//    this.filterColumnNamePrefixField.setPreferredSize(new Dimension(50, 29));
//    northPanel.add(this.filterColumnNamePrefixField);

    this.queryBtn = new JButton(new MetadataAdapter(this));
    this.queryBtn.setPreferredSize(new Dimension(80, 30));
    this.queryBtn.setText("查询");
    this.queryBtn.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "query.png"));
    this.queryBtn.setActionCommand(MetadataAdapter.QUERY_METADATA_COMMAND);
    northPanel.add(this.queryBtn);
   
    this.metadataFileBtn = new JButton(new MetadataFileAdapter(this));
    this.metadataFileBtn.setPreferredSize(new Dimension(115, 30));
    this.metadataFileBtn.setText("元数据文件");
    this.metadataFileBtn.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "meta.png"));
    this.metadataFileBtn.setActionCommand(MetadataFileAdapter.NEW_DIALOG_COMMAND);
    northPanel.add(this.metadataFileBtn);

    return northPanel;
  }
 
  /**
   * <p>
   * Title:构造代码基本信息Panel
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JPanel buildMetadataInfoPane() {
    JPanel metadataInfoPanel = new JPanel();
    metadataInfoPanel.setBorder(BorderFactory.createTitledBorder("基本信息"));
    metadataInfoPanel.setLayout(new FlowLayout(FlowLayout.LEFT));

    metadataInfoPanel.add(new JLabel("元数据模型:"));
    this.metadataModelNameField = new JTextField();
    this.metadataModelNameField.setPreferredSize(new Dimension(120, 20));
    this.metadataModelNameField.setEnabled(false);
    metadataInfoPanel.add(this.metadataModelNameField);
   
    metadataInfoPanel.add(new JLabel("模型描述:"));
    this.modelDescriptionField = new JTextField();
    this.modelDescriptionField.setPreferredSize(new Dimension(200, 20));
    metadataInfoPanel.add(this.modelDescriptionField);
   
    metadataInfoPanel.add(new JLabel("编码:"));
    this.encodingComboBox = new JComboBox(new EncodingComboBoxModel());
    metadataInfoPanel.add(this.encodingComboBox);
   
    return metadataInfoPanel;
  }
 
  /**
   * <p>
   * Title:构造J2EE规范级别Panel
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JPanel buildJ2eeSpecificationLevelPane() {
    JPanel j2eeSpecificationLevelPanel = new JPanel();
    j2eeSpecificationLevelPanel.setBorder(BorderFactory.createTitledBorder("J2EE规范级别"));
    j2eeSpecificationLevelPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
   
    JRadioButton j2eeSpecificationLevel13Radio = new JRadioButton("J2EE 1.3");
    JRadioButton j2eeSpecificationLevel14Radio = new JRadioButton("J2EE 1.4");
    JRadioButton j2eeSpecificationLevel50Radio = new JRadioButton("JavaEE 5.0");
    JRadioButton j2eeSpecificationLevel60Radio = new JRadioButton("JavaEE 6.0");
    j2eeSpecificationLevel14Radio.setSelected(true);
   
    j2eeSpecificationLevel13Radio.setActionCommand("J2EE 1.3");
    j2eeSpecificationLevel14Radio.setActionCommand("J2EE 1.4");
    j2eeSpecificationLevel50Radio.setActionCommand("JavaEE 5.0");
    j2eeSpecificationLevel60Radio.setActionCommand("JavaEE 6.0");
   
    this.j2eeSpecificationLevelButtonGroup = new ButtonGroup();
    this.j2eeSpecificationLevelButtonGroup.add(j2eeSpecificationLevel13Radio);
    this.j2eeSpecificationLevelButtonGroup.add(j2eeSpecificationLevel14Radio);
    this.j2eeSpecificationLevelButtonGroup.add(j2eeSpecificationLevel50Radio);
    this.j2eeSpecificationLevelButtonGroup.add(j2eeSpecificationLevel60Radio);
   
    j2eeSpecificationLevelPanel.add(j2eeSpecificationLevel13Radio);
    j2eeSpecificationLevelPanel.add(j2eeSpecificationLevel14Radio);
    j2eeSpecificationLevelPanel.add(j2eeSpecificationLevel50Radio);
    j2eeSpecificationLevelPanel.add(j2eeSpecificationLevel60Radio);
   
    return j2eeSpecificationLevelPanel;
  }
 
  /**
   * <p>
   * Title:构造框架组合Panel
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JPanel buildFrameworkPane() {
    JPanel frameworkPanel = new JPanel();
    frameworkPanel.setBorder(BorderFactory.createTitledBorder("技术架构"));
    //frameworkPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
    frameworkPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
   
    frameworkPanel.add(new JLabel("视图:"));
    this.viewComboBox = new JComboBox(new ViewComboBoxModel());
    frameworkPanel.add(this.viewComboBox);
   
    frameworkPanel.add(new JLabel("web框架:"));
    this.webFrameworkComboBox = new JComboBox(new WebFrameworkComboBoxModel());
    frameworkPanel.add(this.webFrameworkComboBox);

    frameworkPanel.add(new JLabel("应用框架:"));
    this.appFrameworkComboBox = new JComboBox(new AppFrameworkComboBoxModel());
    frameworkPanel.add(this.appFrameworkComboBox);

    frameworkPanel.add(new JLabel("持久层技术:"));
    this.persistenceFrameworkComboBox = new JComboBox(new PersistenceFrameworkComboBoxModel());
    frameworkPanel.add(this.persistenceFrameworkComboBox);

    frameworkPanel.add(new JLabel("RIA:"));
    this.riaComboBox = new JComboBox(new RiaComboBoxModel());
    frameworkPanel.add(this.riaComboBox);
   
    return frameworkPanel;
  }
 
  /**
   * <p>
   * Title:构造项目设置Panel
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JPanel buildProjectPane() {
    JPanel projectPanel = new JPanel();
    projectPanel.setBorder(BorderFactory.createTitledBorder("项目设置"));
//    projectPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 3, 5));
    projectPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
//    projectPanel.setLayout(new GridBagLayout());
   
    projectPanel.add(new JLabel("项目:"));
    this.projectLocationField = new JTextField(DEFAULT_PROJECT_LOCATION);
    this.projectLocationField.setPreferredSize(new Dimension(90, 20));
    this.projectLocationField.setEditable(false);
    projectPanel.add(this.projectLocationField);

    this.projectLocationSelectBtn = new JButton();
    this.projectLocationSelectBtn.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "open_folder.png"));
    this.projectLocationSelectBtn.setPreferredSize(new Dimension(25, 20));
    this.projectLocationSelectBtn.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        JFileChooser chooser = new JFileChooser();
        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        // chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
        chooser.setCurrentDirectory(new File(DEFAULT_PROJECT_LOCATION));

        int returnVal = chooser.showOpenDialog(null);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
          File selectFile = chooser.getSelectedFile();
          projectLocationField.setText(selectFile.getAbsolutePath());
        }
      }
    });
    projectPanel.add(this.projectLocationSelectBtn);

    projectPanel.add(new JLabel("src:"));
    this.srcField = new JTextField(DEFAULT_SOURCE_FOLDER);
    this.srcField.setPreferredSize(new Dimension(85, 20));
    projectPanel.add(this.srcField);
   
    projectPanel.add(new JLabel("config:"));
    this.appConfigField = new JTextField(DEFAULT_CONFIG_FOLDER);
    this.appConfigField.setPreferredSize(new Dimension(98, 20));
    projectPanel.add(this.appConfigField);
   
    projectPanel.add(new JLabel("resources:"));
    this.appResourcesField = new JTextField(DEFAULT_RESOURCES_FOLDER);
    this.appResourcesField.setPreferredSize(new Dimension(115, 20));
    projectPanel.add(this.appResourcesField);
   
    projectPanel.add(new JLabel("WebRoot:"));
    this.webRootField = new JTextField(DEFAULT_WEB_ROOT_FOLDER);
    this.webRootField.setPreferredSize(new Dimension(50, 20));
    projectPanel.add(this.webRootField);
   
    projectPanel.add(new JLabel("WebConfig:"));
    this.webConfigField = new JTextField(DEFAULT_WEB_CONFIG_FOLDER);
    this.webConfigField.setPreferredSize(new Dimension(98, 20));
    projectPanel.add(this.webConfigField);
   
    projectPanel.add(new JLabel("WebResources:"));
    this.webResourcesField = new JTextField(DEFAULT_WEB_RESOURCES_FOLDER);
    this.webResourcesField.setPreferredSize(new Dimension(110, 20));
    projectPanel.add(this.webResourcesField);
   
    return projectPanel;
  }
 
  /**
   * <p>
   * Title:构造命名法Panel
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JPanel buildNotationPane() {
    JPanel notationPanel = new JPanel();
    notationPanel.setBorder(BorderFactory.createTitledBorder("命名法"));
    notationPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
   
    JRadioButton camelCaseNotationRadio = new JRadioButton("Camel Case")//驼峰式(java)——小驼峰式命名法(Lower Camel Case)
    JRadioButton pascalNotationRadio = new JRadioButton("Pascal Notation")//帕斯卡命名法(C#)——大驼峰式命名法(Upper Camel Case)
    JRadioButton underscoreNotationRadio = new JRadioButton("Underscore")//下划线驼峰式(C、UNIX)
    JRadioButton hungarianNotationRadio = new JRadioButton("Hungary")//匈牙利表示法(Window C)
    camelCaseNotationRadio.setSelected(true);
   
    camelCaseNotationRadio.setActionCommand("CamelCase");
    pascalNotationRadio.setActionCommand("PascalNotation");
    underscoreNotationRadio.setActionCommand("Notation");
    hungarianNotationRadio.setActionCommand("Hungarian");
   
    pascalNotationRadio.setEnabled(false);
    underscoreNotationRadio.setEnabled(false);
    hungarianNotationRadio.setEnabled(false);
   
    this.notationButtonGroup = new ButtonGroup();
    this.notationButtonGroup.add(camelCaseNotationRadio);
    this.notationButtonGroup.add(pascalNotationRadio);
    this.notationButtonGroup.add(underscoreNotationRadio);
    this.notationButtonGroup.add(hungarianNotationRadio);
   
    notationPanel.add(camelCaseNotationRadio);
    notationPanel.add(pascalNotationRadio);
    notationPanel.add(underscoreNotationRadio);
    notationPanel.add(hungarianNotationRadio);
   
    return notationPanel;
  }
 
  /**
   * <p>
   * Title:代码个性化设置
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JPanel buildCodeSpecialPane() {
    JPanel specialPanel = new JPanel();
    specialPanel.setBorder(BorderFactory.createTitledBorder("个性化设置"));
    specialPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
   
    JLabel packagePrefixLabel = new JLabel("应用包:");
    packagePrefixLabel.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "package.png"));
    specialPanel.add(packagePrefixLabel);
    this.packagePrefixField = new JTextField(DEFAULT_APP_PACKAGE);
    this.packagePrefixField.setPreferredSize(new Dimension(120, 20));
    specialPanel.add(this.packagePrefixField);

    JLabel subsystemLabel = new JLabel("子系统:");
    subsystemLabel.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "application_cascade.png"));
    specialPanel.add(subsystemLabel);
    this.subsystemField = new JTextField(DEFAULT_SUBSYSTEM_PACKAGE);
    this.subsystemField.setPreferredSize(new Dimension(60, 20));
    specialPanel.add(this.subsystemField);
   
    JLabel moduleLabel = new JLabel("模块:");
    moduleLabel.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "blockdevice.png"));
    specialPanel.add(moduleLabel);
    this.moduleField = new JTextField(DEFAULT_MODULE_PACKAGE);
    this.moduleField.setPreferredSize(new Dimension(60, 20));
    specialPanel.add(this.moduleField);

    JLabel javaModelLabel = new JLabel("Java模型:");
    javaModelLabel.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "java.png"));
    specialPanel.add(javaModelLabel);
    this.javaModelNameField = new JTextField();
    this.javaModelNameField.setPreferredSize(new Dimension(60, 20));
    specialPanel.add(this.javaModelNameField);
   
    this.actionSuffer = new JTextField(ACTION_SUFFER);
    this.actionFormSuffer = new JTextField(ACTION_FORM_SUFFER);
    this.serviceSuffer = new JTextField(SERVICE_SUFFER);
    this.serviceImplSuffer = new JTextField(SERVICE_IMPL_SUFFER);
    this.daoSuffer = new JTextField(DAO_SUFFER);
    this.daoImplSuffer = new JTextField(DAO_IMPL_SUFFER);
    this.metadataSuffer = new JTextField(METADATA_SUFFER);
   
    this.queryPrefix = new JTextField(QUERY_PREFIX);
    this.createPrefix = new JTextField(CREATE_PREFIX);
    this.editPrefix = new JTextField(EDIT_PREFIX);
    this.viewPrefix = new JTextField(VIEW_PREFIX);
    this.gridSuffer = new JTextField(GRID_PAGE_SUFFER);
    this.treeSuffer = new JTextField(TREE_PAGE_SUFFER);
    this.windowSuffer = new JTextField(WINDOW_SUFFER);
    this.panelSuffer = new JTextField(PANEL_SUFFER);
    this.gridPanelSuffer = new JTextField(GRID_PANEL_SUFFER);
    this.treePanelSuffer = new JTextField(TREE_PANEL_SUFFER);
   
    specialPanel.add(new JLabel("Action后缀:"));
    this.actionSuffer.setPreferredSize(new Dimension(45, 20));
//    this.actionSuffer.setEnabled(false);
    specialPanel.add(this.actionSuffer);
   
    specialPanel.add(new JLabel("Service后缀:"));
    this.serviceSuffer.setPreferredSize(new Dimension(50, 20));
    specialPanel.add(this.serviceSuffer);
   
    specialPanel.add(new JLabel("ServiceImpl后缀:"));
    this.serviceImplSuffer.setPreferredSize(new Dimension(75, 20));
    specialPanel.add(this.serviceImplSuffer);
   
    specialPanel.add(new JLabel("Dao后缀:"));
    this.daoSuffer.setPreferredSize(new Dimension(30, 20));
    specialPanel.add(this.daoSuffer);
   
    specialPanel.add(new JLabel("DaoImpl后缀:"));
    this.daoImplSuffer.setPreferredSize(new Dimension(75, 20));
    specialPanel.add(this.daoImplSuffer);
   
    /*
    specialPanel.add(new JLabel("Metadata后缀:"));
    this.metadataSuffer.setPreferredSize(new Dimension(50, 20));
    specialPanel.add(this.metadataSuffer);
   
    specialPanel.add(new JLabel("创建页面前缀:"));
    this.createPagePrefix.setPreferredSize(new Dimension(50, 20));
    specialPanel.add(this.createPrefix);
   
    specialPanel.add(new JLabel("修改页面前缀:"));
    this.editPrefix.setPreferredSize(new Dimension(50, 20));
    specialPanel.add(this.editPrefix);
   
    specialPanel.add(new JLabel("查看页面前缀:"));
    this.viewPrefix.setPreferredSize(new Dimension(50, 20));
    specialPanel.add(this.viewPrefix);
   
    specialPanel.add(new JLabel("Grid页面后缀:"));
    this.gridSuffer.setPreferredSize(new Dimension(50, 20));
    specialPanel.add(this.gridSuffer);
   
    specialPanel.add(new JLabel("窗口后缀:"));
    this.windowSuffer.setPreferredSize(new Dimension(50, 20));
    specialPanel.add(this.windowSuffer);
   
    specialPanel.add(new JLabel("面板后缀:"));
    this.panelSuffer.setPreferredSize(new Dimension(50, 20));
    specialPanel.add(this.panelSuffer);
    */
   
    return specialPanel;
  }

  /**
   * <p>
   * Title:构造代码生成选项Panel
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JPanel buildCodeGenerateOptionPane() {
    JPanel optionPanel = new JPanel();
    optionPanel.setBorder(BorderFactory.createTitledBorder("代码生成选项"));
    optionPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
   
    this.viewCodeGenerateCheckBox = new JCheckBox("生成视图代码");
    this.viewCodeGenerateCheckBox.setSelected(true);
    optionPanel.add(this.viewCodeGenerateCheckBox);
   
    this.controllerCodeGenerateCheckBox = new JCheckBox("生成控制器(Action)代码");
    this.controllerCodeGenerateCheckBox.setSelected(true);
    optionPanel.add(this.controllerCodeGenerateCheckBox);
   
    this.appCodeGenerateCheckBox = new JCheckBox("生成业务层(Service)代码");
    this.appCodeGenerateCheckBox.setSelected(true);
    optionPanel.add(this.appCodeGenerateCheckBox);
   
    this.persistenceCodeGenerateCheckBox = new JCheckBox("生成持久层(Dao)代码");
    this.persistenceCodeGenerateCheckBox.setSelected(true);
    optionPanel.add(this.persistenceCodeGenerateCheckBox);

    this.riaCodeGenerateCheckBox = new JCheckBox("生成RIA代码");
    this.riaCodeGenerateCheckBox.setSelected(true);
    optionPanel.add(this.riaCodeGenerateCheckBox);
   
    optionPanel.add(new JLabel("界面风格:"));
    this.pageStyle = new JTextField();
    this.pageStyle.setPreferredSize(new Dimension(80, 20));
    this.pageStyle.setEnabled(false);
    optionPanel.add(this.pageStyle);
   
    this.pageStyleSelectBtn = new JButton();
    this.pageStyleSelectBtn.setText("选择...");
    this.pageStyleSelectBtn.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "theme.png"));
    optionPanel.add(this.pageStyleSelectBtn);
   
    this.codeGenerateBtn = new JButton(new GenerateAdapter(this));
    this.codeGenerateBtn.setText("生成代码");
    this.codeGenerateBtn.setIcon(IconUtils.createImageIcon(ICON_CLASS_PATH + "disk_black.png"));
    this.codeGenerateBtn.setActionCommand(GenerateAdapter.GENERATE_CODE_COMMAND);
    optionPanel.add(this.codeGenerateBtn);

    return optionPanel;
  }
 
  /**
   * <p>
   * Title:构造Java代码生成器Panel
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JScrollPane buildJGeneratorPanel() {
    JPanel jgeneratorPanel = new JPanel();
    jgeneratorPanel.setLayout(new GridLayout(7, 1));
    JScrollPane jgeneratorScrollPane = new JScrollPane(jgeneratorPanel);
    jgeneratorScrollPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
   
    jgeneratorPanel.add(buildMetadataInfoPane());
    jgeneratorPanel.add(buildJ2eeSpecificationLevelPane());
    jgeneratorPanel.add(buildFrameworkPane());
    jgeneratorPanel.add(buildProjectPane());
    jgeneratorPanel.add(buildNotationPane());
    jgeneratorPanel.add(buildCodeSpecialPane());
    jgeneratorPanel.add(buildCodeGenerateOptionPane());

    return jgeneratorScrollPane;
  }
 
  /**
   * <p>
   * Title:构造代码预览Panel
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JScrollPane buildCodePreviewPanel() {
    JTextArea textArea = new JTextArea("public class ClassName {\n\n}\n");
    //通过设置textArea的列和行来设置对话框显示内容的大小
    textArea.setColumns(100);
    textArea.setRows(10);
//    textArea.setLineWrap(true);//超过设置的列数自动换行
    textArea.setLineWrap(false);
    textArea.setEditable(false);//设置不可编辑
   
    JScrollPane codePreviewScrollPane = new JScrollPane(textArea);
    codePreviewScrollPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));

    return codePreviewScrollPane;
  }

  /**
   * <p>
   * Title:构造中间JPanel
   * </p>
   *
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JSplitPane buildCenterPane() {
    /*
     * 表格JScrollPane
     */
    this.metadataTable = new MetadataTable(this);
    JScrollPane metadataTableScrollPane = new JScrollPane(this.metadataTable);
   
    /*
     * 代码生成器JTabbedPane
     */
    JTabbedPane tabbedPane = new JTabbedPane();
    tabbedPane.addTab("JGenerator", IconUtils.createImageIcon(ICON_CLASS_PATH + "text_x_java.png"), buildJGeneratorPanel(), "代码生成器");
    tabbedPane.addTab("PHP Generator", IconUtils.createImageIcon(ICON_CLASS_PATH + "application_x_php.png"), new JLabel("PHP代码生成器,开发中..."), "PHP代码生成器");
    tabbedPane.addTab("ASP.Net Generator", IconUtils.createImageIcon(ICON_CLASS_PATH + "filetype_asp.png"), new JLabel("ASP.Net代码生成器,开发中..."), "ASP.Net代码生成器");
    tabbedPane.addTab("C# Generator", IconUtils.createImageIcon(ICON_CLASS_PATH + "text_x_csharp.png"), new JLabel("C#代码生成器,开发中..."), "C#代码生成器");
    tabbedPane.addTab("Code Preview", IconUtils.createImageIcon(ICON_CLASS_PATH + "view_source.png"), buildCodePreviewPanel(), "代码预览");
   
    JSplitPane centerSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, metadataTableScrollPane, tabbedPane);
    centerSplitPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
    centerSplitPane.setDividerLocation(160);
    centerSplitPane.setDividerSize(5)//分隔线的宽度
    centerSplitPane.setOneTouchExpandable(true);
   
    return centerSplitPane;
  }
 
  /**
   * <p>
   * Title:构造SouthPanel
   * </p>
   *
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @return
   */
  private JPanel buildSouthPane() {
    JPanel southPanel = new JPanel();
    southPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
   
    southPanel.add(new JLabel("状态:"));
    this.statusLabel = new JLabel();
    southPanel.add(this.statusLabel);
   
    return southPanel;
  }

  /**
   * <p>
   * Title:buildContentPane
   * </p>
   *
   * @return
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   */
  private JPanel buildContentPane() {
    JPanel contentPanel = new JPanel();
    contentPanel.setLayout(new BorderLayout());

    contentPanel.add(buildNorthPane(), BorderLayout.NORTH);
    contentPanel.add(buildCenterPane(), BorderLayout.CENTER);
    contentPanel.add(buildSouthPane(), BorderLayout.SOUTH);

    return contentPanel;
  }

  /**
   * @return the appCodeGenerateCheckBox
   */
  public JCheckBox getAppCodeGenerateCheckBox() {
    return this.appCodeGenerateCheckBox;
  }

  /**
   * @return the appConfigField
   */
  public JTextField getAppConfigField() {
    return this.appConfigField;
  }

  /**
   * @return the appFrameworkComboBox
   */
  public JComboBox getAppFrameworkComboBox() {
    return this.appFrameworkComboBox;
  }

  /**
   * @return the appResourcesField
   */
  public JTextField getAppResourcesField() {
    return this.appResourcesField;
  }

  /**
   * @return the javaModelNameField
   */
  public JTextField getJavaModelNameField() {
    return this.javaModelNameField;
  }

  /**
   * @return the codeGenerateBtn
   */
  public JButton getCodeGenerateBtn() {
    return this.codeGenerateBtn;
  }

  /**
   * @return the filterColumnNamePrefixField
   */
  public JTextField getFilterColumnNamePrefixField() {
    return this.filterColumnNamePrefixField;
  }

  /**
   * @return the controllerCodeGenerateCheckBox
   */
  public JCheckBox getControllerCodeGenerateCheckBox() {
    return this.controllerCodeGenerateCheckBox;
  }

  /**
   * @return the dataSourceComboBox
   */
  public JComboBox getDataSourceComboBox() {
    return this.dataSourceComboBox;
  }

  /**
   * @return the dataSourceManagerBtn
   */
  public JButton getDataSourceManagerBtn() {
    return this.dataSourceManagerBtn;
  }

  /**
   * @return the encodingComboBox
   */
  public JComboBox getEncodingComboBox() {
    return this.encodingComboBox;
  }

  /**
   * @return the j2eeSpecificationLevelButtonGroup
   */
  public ButtonGroup getJ2eeSpecificationLevelButtonGroup() {
    return this.j2eeSpecificationLevelButtonGroup;
  }

  /**
   * @return the metadataFileBtn
   */
  public JButton getMetadataFileBtn() {
    return this.metadataFileBtn;
  }

  /**
   * @return the metadataService
   */
  public MetadataService getMetadataService() {
    return this.metadataService;
  }

  /**
   * @return the metadataTable
   */
  public MetadataTable getMetadataTable() {
    return this.metadataTable;
  }

  /**
   * @return the modelDescriptionField
   */
  public JTextField getModelDescriptionField() {
    return this.modelDescriptionField;
  }

  /**
   * @return the metadataModelNameField
   */
  public JTextField getMetadataModelNameField() {
    return this.metadataModelNameField;
  }

  /**
   * @return the subsystemField
   */
  public JTextField getSubsystemField() {
    return this.subsystemField;
  }

  /**
   * @return the notationButtonGroup
   */
  public ButtonGroup getNotationButtonGroup() {
    return this.notationButtonGroup;
  }

  /**
   * @return the packagePrefixField
   */
  public JTextField getPackagePrefixField() {
    return this.packagePrefixField;
  }

  /**
   * @return the pageStyle
   */
  public JTextField getPageStyle() {
    return this.pageStyle;
  }

  /**
   * @return the pageStyleSelectBtn
   */
  public JButton getPageStyleSelectBtn() {
    return this.pageStyleSelectBtn;
  }

  /**
   * @return the persistenceCodeGenerateCheckBox
   */
  public JCheckBox getPersistenceCodeGenerateCheckBox() {
    return this.persistenceCodeGenerateCheckBox;
  }

  /**
   * @return the persistenceFrameworkComboBox
   */
  public JComboBox getPersistenceFrameworkComboBox() {
    return this.persistenceFrameworkComboBox;
  }

  /**
   * @return the projectLocationField
   */
  public JTextField getProjectLocationField() {
    return this.projectLocationField;
  }

  /**
   * @return the projectLocationSelectBtn
   */
  public JButton getProjectLocationSelectBtn() {
    return this.projectLocationSelectBtn;
  }

  /**
   * @return the queryBtn
   */
  public JButton getQueryBtn() {
    return this.queryBtn;
  }

  /**
   * @return the riaCodeGenerateCheckBox
   */
  public JCheckBox getRiaCodeGenerateCheckBox() {
    return this.riaCodeGenerateCheckBox;
  }

  /**
   * @return the riaComboBox
   */
  public JComboBox getRiaComboBox() {
    return this.riaComboBox;
  }

  /**
   * @return the srcField
   */
  public JTextField getSrcField() {
    return this.srcField;
  }

  /**
   * @return the tableComboBox
   */
  public JComboBox getTableComboBox() {
    return this.tableComboBox;
  }

  /**
   * @return the filterTableNamePrefixField
   */
  public JTextField getFilterTableNamePrefixField() {
    return this.filterTableNamePrefixField;
  }

  /**
   * @return the filterTableNameSufferField
   */
  public JTextField getFilterTableNameSufferField() {
    return this.filterTableNameSufferField;
  }

  /**
   * @return the viewCodeGenerateCheckBox
   */
  public JCheckBox getViewCodeGenerateCheckBox() {
    return this.viewCodeGenerateCheckBox;
  }

  /**
   * @return the webConfigField
   */
  public JTextField getWebConfigField() {
    return this.webConfigField;
  }

  /**
   * @return the webFrameworkComboBox
   */
  public JComboBox getWebFrameworkComboBox() {
    return this.webFrameworkComboBox;
  }

  /**
   * @return the webResourcesField
   */
  public JTextField getWebResourcesField() {
    return this.webResourcesField;
  }

  /**
   * @return the webRootField
   */
  public JTextField getWebRootField() {
    return this.webRootField;
  }

  /**
   * @return the viewComboBox
   */
  public JComboBox getViewComboBox() {
    return this.viewComboBox;
  }

  /**
   * @param appCodeGenerateCheckBox the appCodeGenerateCheckBox to set
   */
  public void setAppCodeGenerateCheckBox(JCheckBox appCodeGenerateCheckBox) {
    this.appCodeGenerateCheckBox = appCodeGenerateCheckBox;
  }

  /**
   * @param appConfigField the appConfigField to set
   */
  public void setAppConfigField(JTextField appConfigField) {
    this.appConfigField = appConfigField;
  }

  /**
   * @param appFrameworkComboBox the appFrameworkComboBox to set
   */
  public void setAppFrameworkComboBox(JComboBox appFrameworkComboBox) {
    this.appFrameworkComboBox = appFrameworkComboBox;
  }

  /**
   * @param appResourcesField the appResourcesField to set
   */
  public void setAppResourcesField(JTextField appResourcesField) {
    this.appResourcesField = appResourcesField;
  }

  /**
   * @param javaModelNameField the javaModelNameField to set
   */
  public void setJavaModelNameField(JTextField beanNameField) {
    this.javaModelNameField = beanNameField;
  }

  /**
   * @param codeGenerateBtn the codeGenerateBtn to set
   */
  public void setCodeGenerateBtn(JButton codeGenerateBtn) {
    this.codeGenerateBtn = codeGenerateBtn;
  }

  /**
   * @param filterColumnNamePrefixField the filterColumnNamePrefixField to set
   */
  public void setFilterColumnNamePrefixField(JTextField columnNameFilterPrefixField) {
    this.filterColumnNamePrefixField = columnNameFilterPrefixField;
  }

  /**
   * @param controllerCodeGenerateCheckBox the controllerCodeGenerateCheckBox to set
   */
  public void setControllerCodeGenerateCheckBox(JCheckBox controllerCodeGenerateCheckBox) {
    this.controllerCodeGenerateCheckBox = controllerCodeGenerateCheckBox;
  }

  /**
   * @param dataSourceComboBox the dataSourceComboBox to set
   */
  public void setDataSourceComboBox(JComboBox datasourceComboBox) {
    this.dataSourceComboBox = datasourceComboBox;
  }

  /**
   * @param dataSourceManagerBtn the dataSourceManagerBtn to set
   */
  public void setDataSourceManagerBtn(JButton datasourceManagerBtn) {
    this.dataSourceManagerBtn = datasourceManagerBtn;
  }

  /**
   * @param encodingComboBox the encodingComboBox to set
   */
  public void setEncodingComboBox(JComboBox encodingComboBox) {
    this.encodingComboBox = encodingComboBox;
  }

  /**
   * @param specificationLevelButtonGroup the j2eeSpecificationLevelButtonGroup to set
   */
  public void setJ2eeSpecificationLevelButtonGroup(ButtonGroup specificationLevelButtonGroup) {
    this.j2eeSpecificationLevelButtonGroup = specificationLevelButtonGroup;
  }

  /**
   * @param metadataFileBtn the metadataFileBtn to set
   */
  public void setMetadataFileBtn(JButton metadataFileBtn) {
    this.metadataFileBtn = metadataFileBtn;
  }

  /**
   * @param metadataService the metadataService to set
   */
  public void setMetadataService(MetadataService metadataService) {
    this.metadataService = metadataService;
  }

  /**
   * @param metadataTable the metadataTable to set
   */
  public void setMetadataTable(MetadataTable metadataTable) {
    this.metadataTable = metadataTable;
  }

  /**
   * @param modelDescriptionField the modelDescriptionField to set
   */
  public void setModelDescriptionField(JTextField modelDescriptionField) {
    this.modelDescriptionField = modelDescriptionField;
  }

  /**
   * @param metadataModelNameField the metadataModelNameField to set
   */
  public void setMetadataModelNameField(JTextField modelNameField) {
    this.metadataModelNameField = modelNameField;
  }

  /**
   * @param subsystemField the subsystemField to set
   */
  public void setSubsystemField(JTextField subsystemField) {
    this.subsystemField = subsystemField;
  }

  /**
   * @param notationButtonGroup the notationButtonGroup to set
   */
  public void setNotationButtonGroup(ButtonGroup notationButtonGroup) {
    this.notationButtonGroup = notationButtonGroup;
  }

  /**
   * @param packagePrefixField the packagePrefixField to set
   */
  public void setPackagePrefixField(JTextField packagePrefixField) {
    this.packagePrefixField = packagePrefixField;
  }

  /**
   * @param pageStyle the pageStyle to set
   */
  public void setPageStyle(JTextField pageStyle) {
    this.pageStyle = pageStyle;
  }

  /**
   * @param pageStyleSelectBtn the pageStyleSelectBtn to set
   */
  public void setPageStyleSelectBtn(JButton pageStyleSelectBtn) {
    this.pageStyleSelectBtn = pageStyleSelectBtn;
  }

  /**
   * @param persistenceCodeGenerateCheckBox the persistenceCodeGenerateCheckBox to set
   */
  public void setPersistenceCodeGenerateCheckBox(JCheckBox persistenceCodeGenerateCheckBox) {
    this.persistenceCodeGenerateCheckBox = persistenceCodeGenerateCheckBox;
  }

  /**
   * @param persistenceFrameworkComboBox the persistenceFrameworkComboBox to set
   */
  public void setPersistenceFrameworkComboBox(JComboBox persistenceFrameworkComboBox) {
    this.persistenceFrameworkComboBox = persistenceFrameworkComboBox;
  }

  /**
   * @param projectLocationField the projectLocationField to set
   */
  public void setProjectLocationField(JTextField projectLocationField) {
    this.projectLocationField = projectLocationField;
  }

  /**
   * @param projectLocationSelectBtn the projectLocationSelectBtn to set
   */
  public void setProjectLocationSelectBtn(JButton projectLocationSelectBtn) {
    this.projectLocationSelectBtn = projectLocationSelectBtn;
  }

  /**
   * @param queryBtn the queryBtn to set
   */
  public void setQueryBtn(JButton queryBtn) {
    this.queryBtn = queryBtn;
  }

  /**
   * @param riaCodeGenerateCheckBox the riaCodeGenerateCheckBox to set
   */
  public void setRiaCodeGenerateCheckBox(JCheckBox riaCodeGenerateCheckBox) {
    this.riaCodeGenerateCheckBox = riaCodeGenerateCheckBox;
  }

  /**
   * @param riaComboBox the riaComboBox to set
   */
  public void setRiaComboBox(JComboBox riaComboBox) {
    this.riaComboBox = riaComboBox;
  }

  /**
   * @param srcField the srcField to set
   */
  public void setSrcField(JTextField srcField) {
    this.srcField = srcField;
  }

  /**
   * @param tableComboBox the tableComboBox to set
   */
  public void setTableComboBox(JComboBox tableComboBox) {
    this.tableComboBox = tableComboBox;
  }

  /**
   * @param filterTableNamePrefixField the filterTableNamePrefixField to set
   */
  public void setFilterTableNamePrefixField(JTextField tableNameFilterPrefixField) {
    this.filterTableNamePrefixField = tableNameFilterPrefixField;
  }

  /**
   * @param filterTableNameSufferField the filterTableNameSufferField to set
   */
  public void setFilterTableNameSufferField(JTextField tableNameFilterSufferField) {
    this.filterTableNameSufferField = tableNameFilterSufferField;
  }

  /**
   * @param viewCodeGenerateCheckBox the viewCodeGenerateCheckBox to set
   */
  public void setViewCodeGenerateCheckBox(JCheckBox viewCodeGenerateCheckBox) {
    this.viewCodeGenerateCheckBox = viewCodeGenerateCheckBox;
  }

  /**
   * @param webConfigField the webConfigField to set
   */
  public void setWebConfigField(JTextField webConfigField) {
    this.webConfigField = webConfigField;
  }

  /**
   * @param webFrameworkComboBox the webFrameworkComboBox to set
   */
  public void setWebFrameworkComboBox(JComboBox webFrameworkComboBox) {
    this.webFrameworkComboBox = webFrameworkComboBox;
  }

  /**
   * @param webResourcesField the webResourcesField to set
   */
  public void setWebResourcesField(JTextField webResourcesField) {
    this.webResourcesField = webResourcesField;
  }

  /**
   * @param webRootField the webRootField to set
   */
  public void setWebRootField(JTextField webRootField) {
    this.webRootField = webRootField;
  }

  /**
   * @param viewComboBox the viewComboBox to set
   */
  public void setViewComboBox(JComboBox webViewComboBox) {
    this.viewComboBox = webViewComboBox;
  }

  /**
   * @return the actionFormSuffer
   */
  public JTextField getActionFormSuffer() {
    return actionFormSuffer;
  }

  /**
   * @param actionFormSuffer the actionFormSuffer to set
   */
  public void setActionFormSuffer(JTextField actionFormSuffer) {
    this.actionFormSuffer = actionFormSuffer;
  }

  /**
   * @return the actionSuffer
   */
  public JTextField getActionSuffer() {
    return actionSuffer;
  }

  /**
   * @param actionSuffer the actionSuffer to set
   */
  public void setActionSuffer(JTextField actionSuffer) {
    this.actionSuffer = actionSuffer;
  }

  /**
   * @return the createPrefix
   */
  public JTextField getCreatePrefix() {
    return createPrefix;
  }

  /**
   * @param createPrefix the createPrefix to set
   */
  public void setCreatePrefix(JTextField createPagePrefix) {
    this.createPrefix = createPagePrefix;
  }

  /**
   * @return the daoImplSuffer
   */
  public JTextField getDaoImplSuffer() {
    return daoImplSuffer;
  }

  /**
   * @param daoImplSuffer the daoImplSuffer to set
   */
  public void setDaoImplSuffer(JTextField daoImplSuffer) {
    this.daoImplSuffer = daoImplSuffer;
  }

  /**
   * @return the daoSuffer
   */
  public JTextField getDaoSuffer() {
    return daoSuffer;
  }

  /**
   * @param daoSuffer the daoSuffer to set
   */
  public void setDaoSuffer(JTextField daoSuffer) {
    this.daoSuffer = daoSuffer;
  }

  /**
   * @return the editPrefix
   */
  public JTextField getEditPrefix() {
    return editPrefix;
  }

  /**
   * @param editPrefix the editPrefix to set
   */
  public void setEditPrefix(JTextField editPagePrefix) {
    this.editPrefix = editPagePrefix;
  }

  /**
   * @return the gridSuffer
   */
  public JTextField getGridSuffer() {
    return gridSuffer;
  }

  /**
   * @param gridSuffer the gridSuffer to set
   */
  public void setGridSuffer(JTextField gridPageSuffer) {
    this.gridSuffer = gridPageSuffer;
  }

  /**
   * @return the metadataSuffer
   */
  public JTextField getMetadataSuffer() {
    return metadataSuffer;
  }

  /**
   * @param metadataSuffer the metadataSuffer to set
   */
  public void setMetadataSuffer(JTextField metadataSuffer) {
    this.metadataSuffer = metadataSuffer;
  }

  /**
   * @return the gridPanelSuffer
   */
  public JTextField getGridPanelSuffer() {
    return gridPanelSuffer;
  }

  /**
   * @param gridPanelSuffer the gridPanelSuffer to set
   */
  public void setGridPanelSuffer(JTextField panelSuffer) {
    this.gridPanelSuffer = panelSuffer;
  }

  /**
   * @return the serviceImplSuffer
   */
  public JTextField getServiceImplSuffer() {
    return serviceImplSuffer;
  }

  /**
   * @param serviceImplSuffer the serviceImplSuffer to set
   */
  public void setServiceImplSuffer(JTextField serviceImplSuffer) {
    this.serviceImplSuffer = serviceImplSuffer;
  }

  /**
   * @return the serviceSuffer
   */
  public JTextField getServiceSuffer() {
    return serviceSuffer;
  }

  /**
   * @param serviceSuffer the serviceSuffer to set
   */
  public void setServiceSuffer(JTextField serviceSuffer) {
    this.serviceSuffer = serviceSuffer;
  }

  /**
   * @return the treeSuffer
   */
  public JTextField getTreeSuffer() {
    return treeSuffer;
  }

  /**
   * @param treeSuffer the treeSuffer to set
   */
  public void setTreeSuffer(JTextField treePageSuffer) {
    this.treeSuffer = treePageSuffer;
  }

  /**
   * @return the viewPrefix
   */
  public JTextField getViewPrefix() {
    return viewPrefix;
  }

  /**
   * @param viewPrefix the viewPrefix to set
   */
  public void setViewPrefix(JTextField viewPagePrefix) {
    this.viewPrefix = viewPagePrefix;
  }

  /**
   * @return the windowSuffer
   */
  public JTextField getWindowSuffer() {
    return windowSuffer;
  }

  /**
   * @param windowSuffer the windowSuffer to set
   */
  public void setWindowSuffer(JTextField windowSuffer) {
    this.windowSuffer = windowSuffer;
  }

  /**
   * @return the panelSuffer
   */
  public JTextField getPanelSuffer() {
    return this.panelSuffer;
  }

  /**
   * @return the queryPrefix
   */
  public JTextField getQueryPrefix() {
    return this.queryPrefix;
  }

  /**
   * @return the treePanelSuffer
   */
  public JTextField getTreePanelSuffer() {
    return this.treePanelSuffer;
  }

  /**
   * @param panelSuffer the panelSuffer to set
   */
  public void setPanelSuffer(JTextField panelSuffer) {
    this.panelSuffer = panelSuffer;
  }

  /**
   * @param queryPrefix the queryPrefix to set
   */
  public void setQueryPrefix(JTextField queryPrefix) {
    this.queryPrefix = queryPrefix;
  }

  /**
   * @param treePanelSuffer the treePanelSuffer to set
   */
  public void setTreePanelSuffer(JTextField treePanelSuffer) {
    this.treePanelSuffer = treePanelSuffer;
  }

  /**
   * @return the statusLabel
   */
  public JLabel getStatusLabel() {
    return this.statusLabel;
  }

  /**
   * @param statusLabel the statusLabel to set
   */
  public void setStatusLabel(JLabel statusLabel) {
    this.statusLabel = statusLabel;
  }

  /**
   * @return the moduleField
   */
  public JTextField getModuleField() {
    return moduleField;
  }

  /**
   * @param moduleField the moduleField to set
   */
  public void setModuleField(JTextField moduleField) {
    this.moduleField = moduleField;
  }
 
}
TOP

Related Classes of xgenerator.ui.swing.JGeneratorFrame

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.