📄 jdbccontrolpanel.java
字号:
import java.util.*;import java.sql.*;import java.io.*;//GUI Componenetsimport javax.swing.*;import javax.swing.table.*;//XML Componentsimport org.w3c.dom.*;import org.xml.sax.*;import javax.xml.parsers.*;import javax.xml.transform.*;import javax.xml.transform.dom.*;import javax.xml.transform.stream.*;/** * * @author jellis */public class JDBCControlPanel extends javax.swing.JFrame { private final static int DATE_SQLDATE = 0; private final static int DATE_SQLTIMESTAMP = 1; private final static int DATE_CCYYMMDD = 2; private final static int HOUR_FULL = 0; private final static int HOUR_QUARTER = 1; private final static int HOUR_TENTH = 2; private final static String odbcDriverName = "sun.jdbc.odbc.JdbcOdbcDriver"; private String name = ""; private String url = ""; private static String userName = ""; private static String password=""; private static String database=""; private static String table=""; private static String projectDatabase=""; private static String projectTable=""; private static String projectField=""; private static boolean projectValidate; private int dateFormat; private int hourFormat; private boolean projectCase; private Vector errorList; private TableMap tableMap; private static boolean validated; /** Creates new form JDBCControlPanel */ public JDBCControlPanel() { tableMap = new TableMap(); readPrefs(); } public void initGUI() { initComponents(); toggleODBC(); toggleValidateProject(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() {//GEN-BEGIN:initComponents tabbedPane = new javax.swing.JTabbedPane(); driverPanel = new javax.swing.JPanel(); driverInputPanel = new javax.swing.JPanel(); nameLabel = new javax.swing.JLabel(); nameField = new javax.swing.JTextField(); urlLabel = new javax.swing.JLabel(); urlField = new javax.swing.JTextField(); dbLabel = new javax.swing.JLabel(); dbField = new javax.swing.JTextField(); tableLabel = new javax.swing.JLabel(); tableField = new javax.swing.JTextField(); odbcCheckBox = new javax.swing.JCheckBox(); driverButtonPanel = new javax.swing.JPanel(); driverOK = new javax.swing.JButton(); driverCancel = new javax.swing.JButton(); driverTest = new javax.swing.JButton(); fieldPanel = new javax.swing.JPanel(); fieldScrollPane = new javax.swing.JScrollPane(); fieldMapping = new javax.swing.JTable(); fieldButtonPanel = new javax.swing.JPanel(); fieldOK = new javax.swing.JButton(); fieldCancel = new javax.swing.JButton(); fieldRefresh = new javax.swing.JButton(); optionPanel = new javax.swing.JPanel(); optionInputPanel = new javax.swing.JPanel(); hourLabel = new javax.swing.JLabel(); hourComboBox = new javax.swing.JComboBox(); dateLabel = new javax.swing.JLabel(); dateComboBox = new javax.swing.JComboBox(); projectCaseCheckBox = new javax.swing.JCheckBox(); projValidateCheckBox = new javax.swing.JCheckBox(); projDBLabel = new javax.swing.JLabel(); projDBField = new javax.swing.JTextField(); projTableLabel = new javax.swing.JLabel(); projTableField = new javax.swing.JTextField(); projFieldLabel = new javax.swing.JLabel(); projFieldComboBox = new javax.swing.JComboBox(); optionButtonPanel = new javax.swing.JPanel(); optionOK = new javax.swing.JButton(); optionCancel = new javax.swing.JButton(); optionApply = new javax.swing.JButton(); getContentPane().setLayout(new java.awt.GridLayout(1, 1)); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { exitForm(evt); } }); tabbedPane.setPreferredSize(new java.awt.Dimension(387, 254)); driverPanel.setLayout(new java.awt.BorderLayout()); driverPanel.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent evt) { showDriverPanel(evt); } }); driverInputPanel.setLayout(new java.awt.GridBagLayout()); java.awt.GridBagConstraints gridBagConstraints1; nameLabel.setText("Driver Name"); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; driverInputPanel.add(nameLabel, gridBagConstraints1); nameField.setColumns(20); nameField.setText(name); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; driverInputPanel.add(nameField, gridBagConstraints1); urlLabel.setText("URL"); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; driverInputPanel.add(urlLabel, gridBagConstraints1); urlField.setText(url); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; driverInputPanel.add(urlField, gridBagConstraints1); dbLabel.setText("Database"); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; driverInputPanel.add(dbLabel, gridBagConstraints1); dbField.setText(database); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; driverInputPanel.add(dbField, gridBagConstraints1); tableLabel.setText("Table"); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; driverInputPanel.add(tableLabel, gridBagConstraints1); tableField.setText(table); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; driverInputPanel.add(tableField, gridBagConstraints1); odbcCheckBox.setSelected(name.equals(odbcDriverName)); odbcCheckBox.setForeground(new java.awt.Color(102, 102, 153)); odbcCheckBox.setText("Use ODBC Bridge"); odbcCheckBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { toggleODBC(evt); } }); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL; driverInputPanel.add(odbcCheckBox, gridBagConstraints1); driverPanel.add(driverInputPanel, java.awt.BorderLayout.CENTER); driverOK.setText("OK"); driverOK.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { saveDriverSettings(evt); } }); driverButtonPanel.add(driverOK); driverCancel.setText("Cancel"); driverCancel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancel(evt); } }); driverButtonPanel.add(driverCancel); driverTest.setText("Test"); driverTest.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { testDriverSettings(evt); } }); driverButtonPanel.add(driverTest); driverPanel.add(driverButtonPanel, java.awt.BorderLayout.SOUTH); tabbedPane.addTab("Driver Settings", driverPanel); fieldPanel.setLayout(new java.awt.BorderLayout()); fieldPanel.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent evt) { showFieldMap(evt); } }); fieldMapping.setModel(tableMap.toTableModel()); fieldScrollPane.setViewportView(fieldMapping); fieldPanel.add(fieldScrollPane, java.awt.BorderLayout.CENTER); fieldOK.setText("OK"); fieldOK.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { saveDriverSettings(evt); } }); fieldButtonPanel.add(fieldOK); fieldCancel.setText("Cancel"); fieldCancel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancel(evt); } }); fieldButtonPanel.add(fieldCancel); fieldRefresh.setText("Refresh"); fieldRefresh.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { refreshFieldMap(evt); } }); fieldButtonPanel.add(fieldRefresh); fieldPanel.add(fieldButtonPanel, java.awt.BorderLayout.SOUTH); tabbedPane.addTab("Field Mappings", fieldPanel); optionPanel.setLayout(new java.awt.BorderLayout()); optionPanel.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentShown(java.awt.event.ComponentEvent evt) { showOptionPanel(evt); } }); optionInputPanel.setLayout(new java.awt.GridBagLayout()); java.awt.GridBagConstraints gridBagConstraints2; hourLabel.setText("Export hours by:"); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL; optionInputPanel.add(hourLabel, gridBagConstraints2); hourComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Full Precision", "Quarter of an hour", "Tenth of an hour" })); hourComboBox.setSelectedIndex(hourFormat); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints2.anchor = java.awt.GridBagConstraints.WEST; optionInputPanel.add(hourComboBox, gridBagConstraints2); dateLabel.setText("Date Type:"); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL; optionInputPanel.add(dateLabel, gridBagConstraints2); dateComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "SQL Date", "SQL Timestamp", "Decimal Date (ccyymmdd)" })); dateComboBox.setSelectedIndex(dateFormat); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints2.anchor = java.awt.GridBagConstraints.WEST; optionInputPanel.add(dateComboBox, gridBagConstraints2); projectCaseCheckBox.setSelected(projectCase); projectCaseCheckBox.setForeground(new java.awt.Color(102, 102, 153)); projectCaseCheckBox.setText("Upper-Case Project"); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints2.anchor = java.awt.GridBagConstraints.WEST; optionInputPanel.add(projectCaseCheckBox, gridBagConstraints2); projValidateCheckBox.setSelected(projectValidate); projValidateCheckBox.setForeground(new java.awt.Color(102, 102, 153)); projValidateCheckBox.setText("Validate Project"); projValidateCheckBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { toggleValidateProject(evt); } }); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL; optionInputPanel.add(projValidateCheckBox, gridBagConstraints2); projDBLabel.setText("Project Database:"); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL; optionInputPanel.add(projDBLabel, gridBagConstraints2); projDBField.setText(projectDatabase); projDBField.setEnabled(false); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL; optionInputPanel.add(projDBField, gridBagConstraints2); projTableLabel.setText("Project Table:"); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL; optionInputPanel.add(projTableLabel, gridBagConstraints2); projTableField.setText(projectTable); projTableField.setEnabled(false); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL; optionInputPanel.add(projTableField, gridBagConstraints2); projFieldLabel.setText("Project Field"); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL; optionInputPanel.add(projFieldLabel, gridBagConstraints2); projFieldComboBox.setModel(new DefaultComboBoxModel(new String[] {projectField})); projFieldComboBox.setEnabled(false); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints2.anchor = java.awt.GridBagConstraints.WEST; optionInputPanel.add(projFieldComboBox, gridBagConstraints2); optionPanel.add(optionInputPanel, java.awt.BorderLayout.CENTER); optionOK.setText("OK"); optionOK.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { saveDriverSettings(evt); } }); optionButtonPanel.add(optionOK); optionCancel.setText("Cancel"); optionCancel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancel(evt); } }); optionButtonPanel.add(optionCancel);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -