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

📄 preferencedialog.java

📁 TestDataBuilder是一个采用Java编写的
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            JOptionPane.showMessageDialog(this, e.getMessage());
            e.getControl().grabFocus();
            if(e.getControl() instanceof JTextField){
                JTextField txt = (JTextField)e.getControl();
                txt.selectAll();
            }
        }     
    }

    /**
     * This method initializes btnDefault   
     *  
     * @return com.testDataBuilder.ui.core.JTDButton  
     */
    private JTDButton getBtnDefault() {
        if (btnDefault == null) {
            btnDefault = new JTDButton();
            btnDefault.setBounds(new Rectangle(320, 301, 144, 19));
            btnDefault.setText(RM.R("label.PreferenceDialog.storeDefault")); //$NON-NLS-1$
            btnDefault.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    PreferenceDialog.this.restoreDefaultPreference();
                }
            });           
        }
        return btnDefault;
    }

    protected void restoreDefaultPreference() {   
       if(this.preference instanceof XmlPreference){
    	   XmlPreference xmlPreference = new XmlPreference(new DefPreference());
    	   this.dataExchange(xmlPreference, true);
       }
    }

    /**
     * This method initializes btnSelDatatypeDir    
     *  
     * @return com.testDataBuilder.ui.core.JTDButton  
     */
    private JTDButton getBtnSelDatatypeDir() {
        if (btnSelDatatypeDir == null) {
            btnSelDatatypeDir = new JTDButton();
            btnSelDatatypeDir.setBounds(new Rectangle(532, 266, 26, 21));
            btnSelDatatypeDir.setText("..."); //$NON-NLS-1$
            btnSelDatatypeDir.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    PreferenceDialog.this.selectDir(PreferenceDialog.this.txtDataTypePluginDir);
                }
            });
        }
        return btnSelDatatypeDir;
    }

    private JTDButton getBtnSelWorkspaceDir() {
        if (btnSelWorkspaceDir == null) {
            btnSelWorkspaceDir = new JTDButton();
            btnSelWorkspaceDir.setText("..."); //$NON-NLS-1$
            btnSelWorkspaceDir.setBounds(new Rectangle(531, 235, 26, 21));
            btnSelWorkspaceDir.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    PreferenceDialog.this.selectDir(PreferenceDialog.this.txtWorkspace);
                }
            });
        }
        return btnSelWorkspaceDir;
    }

    protected void selectDir(JTextField textField) {
        String curDir = textField.getText().trim();
        JFileChooser directoryChooser = new JFileChooser(curDir);        
        directoryChooser.setDialogTitle(RM.R("label.PreferenceDialog.fileChooser.title")); //$NON-NLS-1$
        directoryChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        if (directoryChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
            String dirPath = directoryChooser.getSelectedFile().getAbsolutePath();
            textField.setText(dirPath);           
        }
    }

    public void enableAll(boolean enable){
        this.getCbxAutoConnWhenProgramStartup().setEnabled(enable);
        this.getCbxClearBefInsert().setEnabled(enable);
        this.getCbxCloseIDAutoInsert().setEnabled(enable);
        this.getCbxGenerateSQLFile().setEnabled(enable);
        this.getCbxNotIncludeIDEntityClumn().setEnabled(enable);
        this.getCbxReadDBInfoFromFileWhenConnError().setEnabled(enable);
        this.getCbxSaveDbMetaInfo().setEnabled(enable);
        this.getTxtDataTypePluginDir().setEditable(enable);
        this.getTxtWorkspace().setEnabled(enable);
        this.getTxtDateFormat().setEditable(enable);
        this.getTxtDefaultRowToGenerate().setEditable(enable);
        this.getTxtMaxDate().setEditable(enable);
        this.getTxtMinDate().setEditable(enable);
        this.getTxtTextFieldMax().setEditable(enable);
        this.getTxtTextFieldMin().setEditable(enable);
        this.getBtnDeleteCurrentProjectPreferenceConfig().setEnabled(enable);
        this.getBtnApply().setEnabled(enable);
        this.getBtnDefault().setEnabled(enable);
        this.getBtnOK().setEnabled(enable);
        
    }

    /**
     * This method initializes comBoxScope  
     *  
     * @return javax.swing.JComboBox    
     */
    private JComboBox getComBoxScope() {
        if (comBoxScope == null) {
            comBoxScope = new JComboBox();
            comBoxScope.setBounds(new Rectangle(161, 4, 120, 21));
            comBoxScope.addItem(RM.R("label.PreferenceDialog.allProject")); //$NON-NLS-1$
            comBoxScope.addItem(RM.R("label.PreferenceDialog.currentProject")); //$NON-NLS-1$
        }
        return comBoxScope;
    }

    /**
     * This method initializes btnDeleteCurrentProjectPreferenceConfig  
     *  
     * @return com.testDataBuilder.ui.core.JTDButton  
     */
    private JTDButton getBtnDeleteCurrentProjectPreferenceConfig() {
        if (btnDeleteCurrentProjectPreferenceConfig == null) {
            btnDeleteCurrentProjectPreferenceConfig = new JTDButton();
            btnDeleteCurrentProjectPreferenceConfig.setBounds(new Rectangle(299, 4, 257, 21));
            btnDeleteCurrentProjectPreferenceConfig.setText(RM.R("label.PreferenceDialog.deleteCurrentProjectProferenceConfig")); //$NON-NLS-1$
            btnDeleteCurrentProjectPreferenceConfig.setToolTipText(RM.R("label.PreferenceDialog.deleteCurrentProjectProferenceConfig.tooltip")); //$NON-NLS-1$
            btnDeleteCurrentProjectPreferenceConfig
            		.addActionListener(new java.awt.event.ActionListener() {
            			public void actionPerformed(java.awt.event.ActionEvent e) {
            				PreferenceDialog.this.deleteCurProjectPreferenceConfig();
            			}
            		});
        }
        return btnDeleteCurrentProjectPreferenceConfig;
    }
    
    protected void deleteCurProjectPreferenceConfig() {
		File configFile = new File(this.workspace, XmlPreference.config);
		if(configFile.exists()){
			configFile.delete();
			JOptionPane.showMessageDialog(this,
                            RM.R("label.PreferenceDialog.deleteCurConfig.success")); //$NON-NLS-1$ //$NON-NLS-2$
		}
		this.getComBoxScope().setSelectedIndex(0);
	}

	public void saveConfig() throws IOException, ValidataException{
        this.validateConsoleValue();
        this.dataExchange(preference, false);
        if(this.preference != null && this.preference instanceof XmlPreference){
            XmlPreference xmlPreference = (XmlPreference)preference;
            if(StringUtils.isEmpty(getWorkspace())){
                xmlPreference.saveConfig(null);
            }else{
                xmlPreference.saveConfig(new File(this.getWorkspace()));
            }
        }
    }

    private void validateConsoleValue() throws ValidataException {
        
        String strRows = this.getTxtDefaultRowToGenerate().getText().trim();
        if(StringUtils.isEmpty(strRows)){
            throw new ValidataException(this.txtDefaultRowToGenerate, RM.R("label.PreferenceDialog.error.rowNumberIsNull")); //$NON-NLS-1$
        }
        try{
            Long.valueOf(strRows);            
        }catch(NumberFormatException ex){
            throw new ValidataException(this.txtDefaultRowToGenerate,
                            String.format(RM.R("label.PreferenceDialog.error.invalidNumber") ,strRows)); //$NON-NLS-1$ //$NON-NLS-2$
        }
        
        String strFormat = this.getTxtDateFormat().getText().trim();
        if(StringUtils.isEmpty(strFormat)){
            throw new ValidataException(this.txtDateFormat, RM.R("label.PreferenceDialog.error.dateFormat.isNull")); //$NON-NLS-1$
        }
        this.dateFormat.applyPattern(strFormat);
        try{
        	dateFormat.format(new java.util.Date());
        }catch(java.lang.IllegalArgumentException ex){
            throw new ValidataException(this.txtDateFormat,
                            String.format(RM.R("label.PreferenceDialog.error.dateFormat"),
                                            strFormat , ex.getMessage())); //$NON-NLS-1$ //$NON-NLS-2$
        }
        
        String strMinDate = this.getTxtMinDate().getText().trim();
        if(StringUtils.isEmpty(strMinDate)){
            throw new ValidataException(this.txtMinDate, RM.R("label.PreferenceDialog.error.minDate.isNull")); //$NON-NLS-1$
        }
        try {
        	dateFormat.parse(strMinDate);
        } catch (ParseException e) {
            throw new ValidataException(this.txtMinDate, 
                            String.format(RM.R("label.PreferenceDialog.error.minDate"),strMinDate)); //$NON-NLS-1$ //$NON-NLS-2$
        }
        String strMaxDate = this.getTxtMaxDate().getText().trim();
        if(StringUtils.isEmpty(strMaxDate)){
            throw new ValidataException(this.txtMaxDate, RM.R("label.PreferenceDialog.error.maxDate.isNull")); //$NON-NLS-1$
        }
        try {
        	dateFormat.parse(strMaxDate);
        } catch (ParseException e) {
            throw new ValidataException(this.txtMaxDate,
                            String.format(RM.R("label.PreferenceDialog.error.maxDate"), strMaxDate)); //$NON-NLS-1$ //$NON-NLS-2$
        }
        
        String strTextMinLength = this.txtTextFieldMin.getText().trim();
        if(StringUtils.isEmpty(strTextMinLength)){
            throw new ValidataException(this.txtTextFieldMin, RM.R("label.PreferenceDialog.error.txtFieldMin.isNull")); //$NON-NLS-1$
        }
        try{
            Long.valueOf(strTextMinLength);
        }catch(NumberFormatException ex){
            throw new ValidataException(this.txtTextFieldMin,
                            String.format(RM.R("label.PreferenceDialog.error.invalidNumber"),strTextMinLength )); //$NON-NLS-1$ //$NON-NLS-2$
        }
        String strTextMaxLength = this.txtTextFieldMax.getText().trim();
        if(StringUtils.isEmpty(strTextMaxLength)){
            throw new ValidataException(this.txtTextFieldMax, RM.R("label.PreferenceDialog.error.txtFieldMax.isNull")); //$NON-NLS-1$
        }
        try{
            Long.valueOf(strTextMaxLength);
        }catch(NumberFormatException ex){
            throw new ValidataException(this.txtTextFieldMax, 
                            String.format(RM.R("label.PreferenceDialog.error.invalidNumber"), strTextMaxLength )); //$NON-NLS-1$ //$NON-NLS-2$
        }
        
    }

    public java.util.Date strToDate(String strDate) throws ParseException{        
    	return new java.sql.Date(dateFormat.parse(strDate).getTime());
    }
    
    public String dateToString(java.util.Date date){
    	return dateFormat.format(date);
    }
    
    public String getWorkspace() {
        return workspace;
    }

    public void setWorkspace(String workspace) {
        this.workspace = workspace;
    }

    /**
     * This method initializes txtDateExample	
     * 	
     * @return javax.swing.JTextField	
     */
    private JTextField getTxtDateExample() {
        if (txtDateExample == null) {
            txtDateExample = new JTextFieldEx();
            txtDateExample.setBounds(new Rectangle(407, 146, 149, 22));
            txtDateExample.setEditable(false);
        }
        return txtDateExample;
    }

	/**
     * This method initializes txtWorkspace	
     * 	
     * @return javax.swing.JTextField	
     */
    private JTextField getTxtWorkspace() {
        if (txtWorkspace == null) {
            txtWorkspace = new JTextField();
            txtWorkspace.setBounds(new Rectangle(150, 235, 368, 22));
        }
        return txtWorkspace;
    }

    public static void main(String[] args) {
				
	}
}  //  @jve:decl-index=0:visual-constraint="10,10"

⌨️ 快捷键说明

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