⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 preferencedialog.java

📁 TestDataBuilder是一个采用Java编写的
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package com.testDataBuilder.ui.preference;

import com.testDataBuilder.config.preference.DefPreference;
import com.testDataBuilder.config.preference.IPreference;
import com.testDataBuilder.config.preference.XmlPreference;
import com.testDataBuilder.exception.ValidataException;
import com.testDataBuilder.resources.RM;
import com.testDataBuilder.ui.core.CenterDialog;
import com.testDataBuilder.ui.core.JTextFieldEx;
import com.testDataBuilder.ui.help.Helper;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Rectangle;
import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import javax.swing.BorderFactory;
import javax.swing.border.EtchedBorder;
import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import com.testDataBuilder.ui.core.JTDButton;
import javax.swing.JComboBox;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;

public class PreferenceDialog extends CenterDialog {

    static Logger logger = Logger.getLogger(PreferenceDialog.class);
    
    private JPanel jContentPane = null;
    private JPanel jInnerPanel = null;
    private JCheckBox cbxAutoConnWhenProgramStartup = null;
    private JCheckBox cbxSaveDbMetaInfo = null;
    private JCheckBox cbxReadDBInfoFromFileWhenConnError = null;
    private JLabel jLabel = null;
    private JCheckBox cbxNotIncludeIDEntityClumn = null;
    private JTextField txtDefaultRowToGenerate = null;
    private JCheckBox cbxCloseIDAutoInsert = null;
    private JCheckBox cbxClearBefInsert = null;
    private JLabel jLabel1 = null;
    private JTextField txtMinDate = null;
    private JLabel jLabel2 = null;
    private JTextField txtMaxDate = null;
    private JLabel jLabel3 = null;
    private JTextField txtTextFieldMin = null;
    private JLabel jLabel4 = null;
    private JTextField txtTextFieldMax = null;
    private JCheckBox cbxGenerateSQLFile = null;
    private JLabel jLabel6 = null;
    private JTextField txtDataTypePluginDir = null;
    private JLabel jLabel7 = null;
    private JTextField txtDateFormat = null;
    private JTDButton btnOK = null;
    private JTDButton btnCancel = null;
    private JTDButton btnApply = null;
    private JTDButton btnDefault = null;
    private JTDButton btnSelDatatypeDir = null;  
    private JTDButton btnSelWorkspaceDir = null; 
    
    private IPreference preference = null;
    private String workspace = null;
    private JLabel jLabel5 = null;
    private JComboBox comBoxScope = null;
    private JTDButton btnDeleteCurrentProjectPreferenceConfig = null;
    private JLabel jLabel8 = null;
    private JTextField txtDateExample = null;
    private java.text.SimpleDateFormat dateFormat = null;

    private JLabel jLabel9 = null;

    private JTextField txtWorkspace = null;
	public PreferenceDialog(JFrame parent, IPreference preference) {
        super(parent);
        this.preference = preference;
        initialize();   
        dateFormat = new  java.text.SimpleDateFormat(preference.getDateFormat());
        this.dataExchange(preference, true);
    }

    public void dataExchange(IPreference preference, boolean isToConsole){
        if(isToConsole){
            if(preference == null){
                this.enableAll(false);
            }
            
            if(preference instanceof XmlPreference){
                XmlPreference xmlPreference = (XmlPreference)preference;
                if(xmlPreference.isGlobal()){
                    this.getComBoxScope().setSelectedIndex(0);
                }else{
                    this.getComBoxScope().setSelectedIndex(1);
                } 
                this.enableAll(true);
            }else{
                this.getComBoxScope().setSelectedIndex(0); 
                this.enableAll(false);
            }
            this.getCbxSaveDbMetaInfo().setSelected(preference.getSaveDbMetaInfo());
            this.getCbxAutoConnWhenProgramStartup().setSelected(preference.getAutoConnWhenProgramStartup());
            this.getCbxReadDBInfoFromFileWhenConnError().setSelected(preference.getReadDBInfoFromFileWhenConnError());
            this.getCbxNotIncludeIDEntityClumn().setSelected(preference.getNotIncludeIDEntityClumn());
            this.getCbxCloseIDAutoInsert().setSelected(preference.getCloseIDAutoInsert());
            this.getCbxClearBefInsert().setSelected(preference.getClearBefInsert());
            this.getCbxGenerateSQLFile().setSelected(preference.getGenerateSQLFile());
            this.getTxtDefaultRowToGenerate().setText(preference.getDefaultRowToGenerate() + ""); //$NON-NLS-1$
            this.getTxtDateFormat().setText(preference.getDateFormat());
            this.getTxtDateExample().setText(this.getCurTime(preference.getDateFormat()));
            this.getTxtMinDate().setText(this.dateToString(preference.getMinDate()));
            this.getTxtMaxDate().setText(dateToString(preference.getMaxDate()));
            this.getTxtTextFieldMin().setText(preference.getTextFieldMin() + ""); //$NON-NLS-1$
            this.getTxtTextFieldMax().setText(preference.getTextFieldMax() + ""); //$NON-NLS-1$
            this.getTxtWorkspace().setText(preference.getWorkspace());
            this.getTxtDataTypePluginDir().setText(preference.getDataTypePluginDir());
            
        }else{
            if(preference instanceof XmlPreference){
                XmlPreference xmlPreference = (XmlPreference)preference;
                if(this.getComBoxScope().getSelectedIndex() == 0){
                    xmlPreference.setGlobal(true);
                }else{
                    xmlPreference.setGlobal(false);
                }
                xmlPreference.setSaveDbMetaInfo(this.getCbxSaveDbMetaInfo().isSelected());
                xmlPreference.setAutoConnWhenProgramStartup(this.getCbxAutoConnWhenProgramStartup().isSelected());
                xmlPreference.setReadDBInfoFromFileWhenConnError(this.getCbxReadDBInfoFromFileWhenConnError().isSelected());
                xmlPreference.setNotIncludeIDEntityClumn(this.getCbxNotIncludeIDEntityClumn().isSelected());
                xmlPreference.setCloseIDAutoInsert(this.getCbxCloseIDAutoInsert().isSelected());
                xmlPreference.setClearBefInsert(this.getCbxClearBefInsert().isSelected());
                xmlPreference.setGenerateSQLFile(this.getCbxGenerateSQLFile().isSelected());
                String strRows = this.getTxtDefaultRowToGenerate().getText().trim();
                xmlPreference.setDefaultRowToGenerate(Long.valueOf(strRows));
                xmlPreference.setDateFormat(this.getTxtDateFormat().getText().trim());
                
				try {
					java.util.Date minDate = this.strToDate(this.getTxtMinDate().getText().trim());
					xmlPreference.setMinDate(minDate);
				} catch (ParseException e) {
                    logger.error("PreferenceDialog",e); //$NON-NLS-1$
				}
                
				try {
					java.util.Date maxDate = strToDate(this.getTxtMaxDate().getText().trim());
					xmlPreference.setMaxDate(maxDate);
				} catch (ParseException e) {
                    logger.error("PreferenceDialog",e); //$NON-NLS-1$
				}
                
                xmlPreference.setWorkspace(this.getTxtWorkspace().getText().trim());
                xmlPreference.setDataTypePluginDir(this.getTxtDataTypePluginDir().getText().trim());                
            }else{
                JOptionPane.showMessageDialog(this, RM.R("label.PreferenceDialog.unProcessed")); //$NON-NLS-1$
            }
        }
    }
    
    public String getCurTime(String strDateFormat){
        this.dateFormat.applyPattern(strDateFormat);
        return dateFormat.format(new java.util.Date());
    }
    
    /**
     * This method initializes this
     * 
     */
    private void initialize() {
        this.setSize(new Dimension(605, 419));
        this.setTitle(RM.R("label.PreferenceDialog.title")); //$NON-NLS-1$
        this.setResizable(false);
        this.setContentPane(getJContentPane());
        this.center();
        Helper.getInstance().enableHelpKey(this.getRootPane(), "detail.window.preferences"); //$NON-NLS-1$
    }

    /**
     * This method initializes jContentPane 
     *  
     * @return javax.swing.JPanel   
     */
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(null);
            jContentPane.add(getJInnerPanel(), null);
            jContentPane.add(getBtnOK(), null);
            jContentPane.add(getBtnCancel(), null);
            jContentPane.add(jLabel5, null);
            jContentPane.add(getComBoxScope(), null);
            jContentPane.add(getBtnDeleteCurrentProjectPreferenceConfig(), null);
        }
        return jContentPane;
    }

    /**
     * This method initializes jInnerPanel  
     *  
     * @return javax.swing.JPanel   
     */
    private JPanel getJInnerPanel() {
        if (jInnerPanel == null) {
            jLabel9 = new JLabel();
            jLabel9.setBounds(new Rectangle(22, 235, 117, 22));
            jLabel9.setText(RM.R("label.PreferenceDialog.workspaceDir"));
            jLabel8 = new JLabel();
            jLabel8.setBounds(new Rectangle(289, 146, 102, 22));
            jLabel8.setText(RM.R("label.PreferenceDialog.TimeExample")); //$NON-NLS-1$
            jLabel5 = new JLabel();
            jLabel5.setText(RM.R("label.PreferenceDialog.ConfigApplyTo")); //$NON-NLS-1$
            jLabel5.setBounds(new Rectangle(30, 4, 113, 21));
            jLabel7 = new JLabel();
            jLabel7.setBounds(new Rectangle(22, 146, 99, 22));
            jLabel7.setText(RM.R("label.PreferenceDialog.TimeFormat")); //$NON-NLS-1$
            jLabel6 = new JLabel();
            jLabel6.setBounds(new Rectangle(22, 266, 118, 21));
            jLabel6.setText(RM.R("label.PreferenceDialog.dataTypeDir")); //$NON-NLS-1$
            jLabel4 = new JLabel();
            jLabel4.setBounds(new Rectangle(290, 207, 121, 22));
            jLabel4.setText(RM.R("label.PreferenceDialog.TextFieldMaxLength")); //$NON-NLS-1$
            jLabel3 = new JLabel();
            jLabel3.setBounds(new Rectangle(22, 207, 127, 22));
            jLabel3.setText(RM.R("label.PreferenceDialog.TextFieldMinLength")); //$NON-NLS-1$
            jLabel2 = new JLabel();
            jLabel2.setBounds(new Rectangle(290, 177, 101, 22));
            jLabel2.setText(RM.R("label.PreferenceDialog.DataMax")); //$NON-NLS-1$
            jLabel1 = new JLabel();
            jLabel1.setBounds(new Rectangle(22, 177, 99, 22));
            jLabel1.setText(RM.R("label.PreferenceDialog.DataMin")); //$NON-NLS-1$
            jLabel = new JLabel();
            jLabel.setBounds(new Rectangle(22, 116, 99, 21));
            jLabel.setText(RM.R("label.PreferenceDialog.RowOfPerTable")); //$NON-NLS-1$
            jInnerPanel = new JPanel();
            jInnerPanel.setLayout(null);
            jInnerPanel.setBounds(new Rectangle(9, 31, 578, 329));
            jInnerPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
            jInnerPanel.add(getCbxAutoConnWhenProgramStartup(), null);
            jInnerPanel.add(getCbxSaveDbMetaInfo(), null);
            jInnerPanel.add(getCbxReadDBInfoFromFileWhenConnError(), null);
            jInnerPanel.add(jLabel, null);
            jInnerPanel.add(getCbxNotIncludeIDEntityClumn(), null);
            jInnerPanel.add(getTxtDefaultRowToGenerate(), null);
            jInnerPanel.add(getCbxCloseIDAutoInsert(), null);
            jInnerPanel.add(getCbxClearBefInsert(), null);
            jInnerPanel.add(jLabel1, null);
            jInnerPanel.add(getTxtMinDate(), null);
            jInnerPanel.add(jLabel2, null);
            jInnerPanel.add(getTxtMaxDate(), null);
            jInnerPanel.add(jLabel3, null);
            jInnerPanel.add(getTxtTextFieldMin(), null);
            jInnerPanel.add(jLabel4, null);
            jInnerPanel.add(getTxtTextFieldMax(), null);
            jInnerPanel.add(getCbxGenerateSQLFile(), null);
            jInnerPanel.add(jLabel6, null);
            jInnerPanel.add(getTxtDataTypePluginDir(), null);
            jInnerPanel.add(jLabel7, null);
            jInnerPanel.add(getTxtDateFormat(), null);
            jInnerPanel.add(getBtnApply(), null);
            jInnerPanel.add(getBtnDefault(), null);
            jInnerPanel.add(getBtnSelDatatypeDir(), null);
            jInnerPanel.add(jLabel8, null);
            jInnerPanel.add(getTxtDateExample(), null);
            jInnerPanel.add(jLabel9, null);
            jInnerPanel.add(getTxtWorkspace(), null);
            jInnerPanel.add(getBtnSelWorkspaceDir(), null);
        }
        return jInnerPanel;
    }

    /**
     * This method initializes cbxAutoConnWhenProgramStartup    
     *  
     * @return javax.swing.JCheckBox    
     */
    private JCheckBox getCbxAutoConnWhenProgramStartup() {
        if (cbxAutoConnWhenProgramStartup == null) {
            cbxAutoConnWhenProgramStartup = new JCheckBox();
            cbxAutoConnWhenProgramStartup.setBounds(new Rectangle(15, 32, 270, 24));
            cbxAutoConnWhenProgramStartup.setText(RM.R("label.PreferenceDialog.autoConnDBWhenProgramStartup")); //$NON-NLS-1$

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -