📄 preferencedialog.java
字号:
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 + -