📄 databaseeditpane.java
字号:
package com.sutternow.swingkar.gui;import javax.swing.*;import javax.swing.border.Border;import java.awt.event.*;import org.dom4j.Element;import org.dom4j.Node;import net.sf.easylayouts.*;import com.gargoylesoftware.base.gui.TableLayout;import com.sutternow.swingkar.ConfigManager;import com.sutternow.misc.Utils;/** * Created by IntelliJ IDEA. * User: Matthew Payne * Date: Jan 18, 2003 * Time: 1:01:50 AM * To change this template use Options | File Templates. */public class DatabaseEditPane implements SimpleForm, ActionListener { public String Title = "Database Info"; public DatabaseEditPane(ConfigManager _cm) { cm = _cm; dbPanel = this.getFixedEditForm(); } public String getTitle() { return Title; } public JPanel getEditForm() { return dbPanel; } public JPanel getFixedEditForm() { final TableLayout layout = new TableLayout(); Border etched = BorderFactory.createEtchedBorder(); final JPanel dbPanel = new JPanel(layout); final JPanel panel = new JPanel(); final JPanel topPanel = new JPanel(new TableLayout()); final JPanel bottomPanel = new JPanel(); RowLayout rowLayout = new RowLayout(panel, 1, 25); topPanel.add(new JLabel("DBMS:"), "1,1"); DBMS = new JTextField(15); topPanel.add(DBMS, "1,2"); driverClassField = new JTextField(20); topPanel.add(new JLabel("Class:"), "2,1"); topPanel.add(driverClassField, "2,2"); topPanel.add(new JLabel("URL:"), "3,1"); urlField = new JTextField(25); topPanel.add(urlField, "3,2"); topPanel.add(new JLabel("User:"), "4,1"); userField = new JTextField(10); topPanel.add(userField, "4,2"); topPanel.add(new JLabel("Password:"), "5,1"); passField = new JTextField(10); topPanel.add(passField, "5,2"); cmdTestConnect = new JButton("Test connection"); topPanel.add(cmdTestConnect, "6,2"); cmdTestConnect.addActionListener(this); /* end top panel */ dbPanel.add(new JLabel("Connection Pooling:"), "1,1"); minConnections = new JSpinner(new SpinnerNumberModel(5, 1, 30, 1)); dbPanel.add(new JLabel("Minimun Connections:"), "2,1"); dbPanel.add(minConnections, "2,2"); dbPanel.add(new JLabel("Maximum Connections:"), "3,1"); maxConnections = new JSpinner(new SpinnerNumberModel(30, 1, 30, 1)); dbPanel.add(maxConnections, "3,2"); dbPanel.setBorder(BorderFactory.createTitledBorder("Connection Info")); layout.setColumnExpandable(1, true); layout.setColumnExpandable(2, true); layout.setColumnExpandable(3, true); rowLayout.add(topPanel, 0); rowLayout.add(dbPanel, 1); rowLayout.add(bottomPanel, 2); return panel; } public void setValues(Element dbCfg) { this.clearForm(); dbElement = dbCfg; String relPath = dbCfg.getUniquePath(); // if (dbElement.elementText("dbms") !=null) { DBMS.setText(Utils.parseNull(dbElement.valueOf("dbms"))); userField.setText(Utils.parseNull(dbCfg.valueOf(relPath + "/user"))); passField.setText(Utils.parseNull(dbCfg.valueOf(relPath + "/password"))); urlField.setText(Utils.parseNull(dbCfg.valueOf(relPath + "/url"))); driverClassField.setText(Utils.parseNull(dbCfg.valueOf(relPath + "/driver"))); try { minConnections.setValue(new Integer(dbElement.elementText("minimum-connections"))); maxConnections.setValue(new Integer(dbElement.elementText("maximum-connections"))); } catch (java.lang.NumberFormatException en) { System.out.println("min/max connections not set"); } // } } public void actionPerformed(ActionEvent ae) { JButton src = (JButton) ae.getSource(); if (src == cmdTestConnect) { doTestConnect(); }/* } else if (src == cmdSave) { doSave(); // clearForm(); } else if (src == cmdCancel) { clearForm(); }*/ } private void clearForm() { DBMS.setText(""); userField.setText(""); passField.setText(""); urlField.setText(""); driverClassField.setText(""); minConnections.setValue(new Integer(5)); maxConnections.setValue(new Integer(30)); } public void doSave() { if (this.isValid()) { // test of see the database element is practically empty or not if (dbElement.elements().size() > 2) { dbElement.element("dbms").setText(DBMS.getText()); dbElement.element("driver").setText(driverClassField.getText()); dbElement.element("url").setText(urlField.getText()); dbElement.element("user").setText(userField.getText()); dbElement.element("password").setText(passField.getText()); dbElement.element("jndi").setText(""); dbElement.element("minimum-connections").setText(minConnections.getValue().toString()); dbElement.element("maximum-connections").setText(maxConnections.getValue().toString()); } else { dbElement.addElement("dbms").setText(DBMS.getText()); dbElement.addElement("driver").setText(driverClassField.getText()); dbElement.addElement("url").setText(urlField.getText()); dbElement.addElement("user").setText(userField.getText()); dbElement.addElement("password").setText(passField.getText()); dbElement.element("jndi").setText(""); dbElement.addElement("minimum-connections").setText(minConnections.getValue().toString()); dbElement.addElement("maximum-connections").setText(maxConnections.getValue().toString()); } System.out.println(this.Title + " Saved"); } } private boolean isValid() { if (DBMS.getText().trim().length() < 2) { javax.swing.JOptionPane.showMessageDialog(null, "DBMS Name is not valid"); return false; } return true; } private void doTestConnect() { String response = com.sutternow.data.DatabaseConnection.testConectionInfo( driverClassField.getText(), urlField.getText(), userField.getText(), passField.getText()); JOptionPane.showMessageDialog(null, response); } private JSpinner minConnections; private JSpinner maxConnections; private JTextField DBMS; private JTextField userField; private JTextField passField; private JTextField urlField; private JTextField driverClassField; private JButton cmdTestConnect;// private JButton cmdSave;// private JButton cmdCancel; private ConfigManager cm; private Element dbElement; private JPanel dbPanel;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -