📄 configdbdialog.java
字号:
package com.testDataBuilder.ui.database;
import javax.swing.JPanel;
import java.awt.Dimension;
import java.awt.Frame;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import com.testDataBuilder.ui.core.JTDButton;
import com.testDataBuilder.config.DatabaseConfig;
import com.testDataBuilder.core.DatabaseUtil;
import com.testDataBuilder.exception.ValidataException;
import com.testDataBuilder.resources.RM;
import com.testDataBuilder.sqlTemplate.IDBTemplate;
import com.testDataBuilder.sqlTemplate.TemplateFactory;
import com.testDataBuilder.sqlTemplate.XmlConfigTemplate;
import com.testDataBuilder.ui.core.CenterDialog;
import com.testDataBuilder.ui.core.JTextFieldEx;
import javax.swing.WindowConstants;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.xml.sax.SAXException;
import javax.swing.BorderFactory;
import javax.swing.border.EtchedBorder;
public class ConfigDBDialog extends CenterDialog {
static Logger logger = Logger.getLogger(ConfigDBDialog.class);
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel jLabel = null;
private JComboBox cbxTemplateName = null;
private JLabel jLabel1 = null;
private JTextField txtDriverClass = null;
private JLabel jLabel2 = null;
private JTextField txtURL = null;
private JLabel jLabel3 = null;
private JTextField txtUserName = null;
private JLabel jLabel4 = null;
private JPasswordField txtPwd = null;
private JTDButton btnTestConn = null;
private JTDButton btnCancel = null;
private DatabaseConfig databaseConfig = null;
/**
* @param owner
*/
public ConfigDBDialog(Frame owner) {
super(owner);
initialize();
this.center();
}
/**
* @param owner
*/
public ConfigDBDialog(Frame owner, DatabaseConfig databaseConfig) {
super(owner);
initialize();
this.center();
this.databaseConfig = databaseConfig;
try {
if(databaseConfig != null){
this.getTxtName().setText(databaseConfig.getName());
}else{
this.getTxtName().setEditable(true);
}
dataExchange(databaseConfig, true);
} catch (Exception ex) {
logger.error("OpenDBDialog", ex); //$NON-NLS-1$
JOptionPane.showMessageDialog(this, RM.R("label.ConfigDBDialog.parseConfigFileError") + ex.getMessage()); //$NON-NLS-1$
}
}
public void center(){
Dimension screenSize = this.getToolkit().getScreenSize();
int x = (screenSize.width - this.getWidth()) / 2;
int y = (screenSize.height - this.getHeight()) /2;
this.setLocation(x, y);
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(428, 273);
this.setResizable(false);
this.setTitle(RM.R("label.ConfigDBDialog.title")); //$NON-NLS-1$
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
this.setContentPane(getJContentPane());
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel4 = new JLabel();
jLabel4.setText(RM.R("label.ConfigDBDialog.password")); //$NON-NLS-1$
jLabel4.setBounds(new Rectangle(19, 172, 43, 20));
jLabel3 = new JLabel();
jLabel3.setText(RM.R("label.ConfigDBDialog.userName")); //$NON-NLS-1$
jLabel3.setBounds(new Rectangle(19, 140, 43, 20));
jLabel2 = new JLabel();
jLabel2.setText(RM.R("label.ConfigDBDialog.URL")); //$NON-NLS-1$
jLabel2.setBounds(new Rectangle(19, 108, 43, 20));
jLabel1 = new JLabel();
jLabel1.setText(RM.R("label.ConfigDBDialog.jdbcDriver")); //$NON-NLS-1$
jLabel1.setBounds(new Rectangle(19, 76, 43, 20));
jLabel = new JLabel();
jLabel.setText(RM.R("label.ConfigDBDialog.type")); //$NON-NLS-1$
jLabel.setBounds(new Rectangle(19, 13, 43, 20));
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getBtnTestConn(), null);
jContentPane.add(getBtnCancel(), null);
jContentPane.add(getBtnOK(), null);
jContentPane.add(getJInnerPanel(), null);
jContentPane.add(getBtnSaveAsTemplate(), null);
}
return jContentPane;
}
/**
* This method initializes cbxTemplateName
*
* @return javax.swing.JComboBox
*/
private JComboBox getCbxTemplateName() {
if (cbxTemplateName == null) {
cbxTemplateName = new JComboBox();
cbxTemplateName.setBounds(new Rectangle(69, 13, 305, 20));
cbxTemplateName.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) {
ConfigDBDialog.this.cbxTemplateNameClicked();
}
});
List<String> types = TemplateFactory.getInstance().getAllTypes();
for(String type : types){
cbxTemplateName.addItem(type);
}
}
return cbxTemplateName;
}
private void cbxTemplateNameClicked(){
if(cbxTemplateName.getSelectedItem() != null){
IDBTemplate template = TemplateFactory.getInstance()
.getTemplate(cbxTemplateName.getSelectedItem().toString());
if(template != null){
dataExchange(template, true);
}
}
}
private void dataExchange(IDBTemplate template, boolean isToControl){
if(isToControl){
if(template != null){
String templateName = (String) this.getCbxTemplateName().getSelectedItem();
if(StringUtils.isNotEmpty(templateName)
&& StringUtils.isNotEmpty(template.getTemplateName())
&& !templateName.equalsIgnoreCase(template.getTemplateName())){
this.getCbxTemplateName().setSelectedItem(template.getTemplateName());
}
this.getTxtDriverClass().setText(template.getDriverClass());
this.getTxtURL().setText(template.getURL());
this.getTxtUserName().setText(template.getUserName());
this.getTxtPwd().setText(template.getPwd());
}
}else{
if(template instanceof DatabaseConfig){
DatabaseConfig databaseConfig = (DatabaseConfig)template;
databaseConfig.setName(this.getTxtName().getText().trim());
databaseConfig.setTemplateName((String) this.getCbxTemplateName().getSelectedItem());
databaseConfig.setDriverClass(this.getTxtDriverClass().getText().trim());
databaseConfig.setURL(this.getTxtURL().getText().trim());
databaseConfig.setUserName(this.getTxtUserName().getText().trim());
databaseConfig.setPassword(this.getTxtPwd().getText());
}
}
}
/**
* This method initializes txtDriverClass
*
* @return javax.swing.JTextField
*/
private JTextField getTxtDriverClass() {
if (txtDriverClass == null) {
txtDriverClass = new JTextFieldEx();
txtDriverClass.setBounds(new Rectangle(69, 76, 305, 20));
}
return txtDriverClass;
}
/**
* This method initializes txtURL
*
* @return javax.swing.JTextField
*/
private JTextField getTxtURL() {
if (txtURL == null) {
txtURL = new JTextFieldEx();
txtURL.setBounds(new Rectangle(70, 108, 305, 20));
}
return txtURL;
}
/**
* This method initializes txtUserName
*
* @return javax.swing.JTextField
*/
private JTextField getTxtUserName() {
if (txtUserName == null) {
txtUserName = new JTextFieldEx();
txtUserName.setBounds(new Rectangle(70, 140, 305, 20));
}
return txtUserName;
}
/**
* This method initializes txtPwd
*
* @return javax.swing.JPasswordField
*/
private JPasswordField getTxtPwd() {
if (txtPwd == null) {
txtPwd = new JPasswordField();
txtPwd.setBounds(new Rectangle(69, 172, 305, 20));
}
return txtPwd;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -