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

📄 driverspanel.java

📁 eq跨平台查询工具源码 eq跨平台查询工具源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        tabViewClosing();    }    public void focusGained(FocusEvent e) {}    // --------------------------------------------    // DockedTabView implementation    // --------------------------------------------    /**     * Indicates the panel is being removed from the pane     */    public boolean tabViewClosing() {        nameField.removeFocusListener(this);        populateDriverObject();        return saveDrivers();    }    /**     * Indicates the panel is being selected in the pane     */    public boolean tabViewSelected() {        nameField.addFocusListener(this);        return true;    }    /**     * Indicates the panel is being selected in the pane     */    public boolean tabViewDeselected() {        return tabViewClosing();    }    // --------------------------------------------        public void findDriverClass(ActionEvent e) {        if (databaseDriver.getId() == JDBCProperties.DEFAULT_ODBC_ID) {            return;        }        String paths = pathField.getText();        if (MiscUtils.isNull(paths)) {            GUIUtilities.displayErrorMessage(                    "A valid path to the JDBC library is required");            return;        }        String[] drivers = null;        try {            GUIUtilities.showWaitCursor();            drivers = MiscUtils.findImplementingClasses(                                            "java.sql.Driver", paths);        } catch (MalformedURLException urlExc) {            GUIUtilities.displayErrorMessage(                    "A valid path to the JDBC library is required");        } catch (IOException ioExc) {            GUIUtilities.displayErrorMessage(                    "An error occured accessing the specified file:\n" +                    ioExc.getMessage());        } finally {            GUIUtilities.showNormalCursor();        }        if (drivers == null || drivers.length == 0) {            GUIUtilities.displayWarningMessage(                    "No valid classes implementing java.sql.Driver\n"+                    "were found in the specified resource");            return;        }        int result = -1;        String value = null;        while (true) {            SimpleValueSelectionDialog dialog =                     new SimpleValueSelectionDialog("Select JDBC Driver", drivers);            result = dialog.showDialog();            if (result == JOptionPane.OK_OPTION) {                value = dialog.getValue();                if (value == null) {                    GUIUtilities.displayErrorMessage(                            "You must select a driver from the list");                } else {                    classField.setText(value);                    databaseDriver.setClassName(value);                    break;                }            } else {                break;            }        }    }    public void browseDrivers(ActionEvent e) {        if (databaseDriver.getId() == JDBCProperties.DEFAULT_ODBC_ID) {            return;        }                FileSelector jarFiles = new FileSelector(new String[] {"jar"},                                                  "Java Archive files");        FileSelector zipFiles = new FileSelector(new String[] {"zip"},                                                  "ZIP Archive files");                FileChooserDialog fileChooser = new FileChooserDialog();        fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);        fileChooser.addChoosableFileFilter(zipFiles);        fileChooser.addChoosableFileFilter(jarFiles);                fileChooser.setDialogTitle("Select JDBC Drivers...");        fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);                fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);        fileChooser.setMultiSelectionEnabled(true);                int result = fileChooser.showDialog(GUIUtilities.getParentFrame(), "Select");                if (result == JFileChooser.CANCEL_OPTION) {            return;        }                File[] files = fileChooser.getSelectedFiles();                char COLON = ';';        StringBuffer sb = new StringBuffer(100);                for (int i = 0; i < files.length; i++) {            sb.append(files[i].getAbsolutePath());            if (i != files.length - 1) {                sb.append(COLON);            }        }                pathField.setText(sb.toString());        databaseDriver.setPath(pathField.getText());    }    /**     * Checks the current selection for a name change     * to be propagated back to the tree view.     */    private void checkNameUpdate() {        String oldName = databaseDriver.getName();        String newName = nameField.getText().trim();        if (!oldName.equals(newName)) {            databaseDriver.setName(newName);            parent.nodeNameValueChanged(databaseDriver);        }            }    /**     * Populates the driver object from the field values.     */    private void populateDriverObject() {        // ODBC driver can not be changed        if (databaseDriver.getId() == JDBCProperties.DEFAULT_ODBC_ID) {            return;        }        databaseDriver.setDescription(descField.getText());        databaseDriver.setClassName(classField.getText());        databaseDriver.setURL(driverUrlCombo.getEditor().getItem().toString());        databaseDriver.setPath(pathField.getText());                DatabaseDefinition database = getSelectedDatabase();        if (database.getId() > 0) {            databaseDriver.setDatabaseType(database.getId());        }                checkNameUpdate();                if (databaseDriver.getId() == 0) {            databaseDriver.setId(System.currentTimeMillis());            // need to check exisitng conns with this driver's name        }    }        public void setDriver(DatabaseDriver databaseDriver) {        // store the field values of the current selection        if (this.databaseDriver != null) {            populateDriverObject();        }                try {            databaseNameCombo.removeItemListener(this);            this.databaseDriver = databaseDriver;            nameField.setText(databaseDriver.getName());            descField.setText(                    databaseDriver.getDescription().equals("Not Available") ?                                            "" : databaseDriver.getDescription());            classField.setText(databaseDriver.getClassName());            pathField.setText(databaseDriver.getPath());            int databaseId = databaseDriver.getType();            DatabaseDefinition database = DatabaseDefinitionCache.                                                getDatabaseDefinition(databaseId);                        if (database != null) {                resetUrlCombo(database);                databaseNameCombo.setSelectedItem(database);            } else {                urlComboModel.removeAllElements();                databaseNameCombo.setSelectedIndex(0);            }            String url = databaseDriver.getURL();            if (!MiscUtils.isNull(url)) {                urlComboModel.insertElementAt(url, 0);            }                        if (urlComboModel.getSize() > 0) {                driverUrlCombo.setSelectedIndex(0);                            }            nameField.requestFocusInWindow();            nameField.selectAll();        }        finally {            databaseNameCombo.addItemListener(this);        }    }    private void resetUrlCombo(DatabaseDefinition database) {        urlComboModel.removeAllElements();        for (int i = 0; i < database.getUrlCount(); i++) {            urlComboModel.addElement(database.getUrl(i));        }    }        public DatabaseDriver getDriver() {        return databaseDriver;    }     /** Performs some cleanup and releases resources before being closed. */    public void cleanup() {            }        /** Refreshes the data and clears the cache */    public void refresh() {}        /** Returns the print object - if any */    public Printable getPrintable() {        return null;    }        /** Returns the name of this panel */    public String getLayoutName() {        return TITLE;    }    }

⌨️ 快捷键说明

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