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

📄 databasemanagerswing.java

📁 一個Light Weighted的Java Database Engin 適合各個領域之Java數据庫編輯.
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    public void init() {        javax.swing.AbstractButton btn;        fMain = this;        main();        for (int i = 0; i < localActionList.size(); i++) {            btn = (javax.swing.AbstractButton) localActionList.get(i);            btn.setEnabled(false);        }        Connection c = null;        boolean auto = false;        if (getParameter("jdbcDriver") != null) {            auto = true;            defDriver = getParameter("jdbcDriver");        }        if (getParameter("jdbcUrl") != null) {            auto = true;            defURL = getParameter("jdbcUrl");        }        if (getParameter("jdbcUser") != null) {            auto = true;            defUser = getParameter("jdbcUser");        }        if (getParameter("jdbcPassword") != null) {            auto = true;            defPassword = getParameter("jdbcPassword");        }        try {            setWaiting("Initializing");            //insertTestData();            //updateAutoCommitBox();            c = (auto                    ?  ConnectionDialogSwing.createConnection(                                defDriver, defURL, defUser, defPassword)                    : ConnectionDialogSwing.createConnection(jframe, "Connect")            );        } catch (Exception e) {            //  Added: (weconsultants@users)            CommonSwing.errorMessage(e);        } finally {            setWaiting(null);        }        if (c != null) {            connect(c);        }        if (getParameter("loadSampleData") != null                && getParameter("loadSampleData").equals("true")) {            insertTestData();            try { Thread.sleep(1000); } catch (InterruptedException ie) {};            // I don't know why, but the tree refresh below sometimes            // doesn't show all tables unless I put this delay here.            refreshTree();        }        if (getParameter("schemaFilter") != null) {            schemaFilter = getParameter("schemaFilter");        }    }    public static void main(String[] arg) {        System.getProperties().put("sun.java2d.noddraw", "true");        // (ulrivo): read all arguments from the command line        String  lowerArg;        String  urlid        = null;        String  rcFile       = null;        boolean autoConnect  = false;        boolean urlidConnect = false;        bMustExit = true;        for (int i = 0; i < arg.length; i++) {            lowerArg = arg[i].toLowerCase();            if (lowerArg.length() > 1 && lowerArg.charAt(1) == '-') {                lowerArg = lowerArg.substring(1);            }            i++;            if (lowerArg.equals("-driver")) {                defDriver   = arg[i];                autoConnect = true;            } else if (lowerArg.equals("-url")) {                defURL      = arg[i];                autoConnect = true;            } else if (lowerArg.equals("-user")) {                defUser     = arg[i];                autoConnect = true;            } else if (lowerArg.equals("-password")) {                defPassword = arg[i];                autoConnect = true;            } else if (lowerArg.equals("-urlid")) {                urlid        = arg[i];                urlidConnect = true;            } else if (lowerArg.equals("-rcfile")) {                rcFile       = arg[i];                urlidConnect = true;            } else if (lowerArg.equals("-dir")) {                defDirectory = arg[i];            } else if (lowerArg.equals("-script")) {                defScript = arg[i];            } else if (lowerArg.equals("-noexit")) {                bMustExit = false;                i--;            } else {                showUsage();                return;            }        }        DatabaseManagerSwing m = new DatabaseManagerSwing(                new JFrame("HSQL Database Manager"));        // Added: (weconsultants@users): Need databaseManagerSwing for later Reference        refForFontDialogSwing = m;        m.main();        Connection c = null;        m.setWaiting("Initializing");        try {            if (autoConnect && urlidConnect) {                throw new IllegalArgumentException(                    "You may not specify both (urlid) AND (url/user/password).");            }            if (autoConnect) {                c = ConnectionDialogSwing.createConnection(defDriver, defURL,                        defUser, defPassword);            } else if (urlidConnect) {                if (urlid == null) {                    throw new IllegalArgumentException(                        "You must specify an 'urlid' to use an RC file");                }                autoConnect = true;                String rcfilepath = (rcFile == null) ? DEFAULT_RCFILE                                                     : rcFile;                RCData rcdata     = new RCData(new File(rcfilepath), urlid);                c = rcdata.getConnection(                    null, System.getProperty("sqlfile.charset"),                    System.getProperty("javax.net.ssl.trustStore"));            } else {                c = ConnectionDialogSwing.createConnection(m.jframe,                        "Connect");            }        } catch (Exception e) {            //  Added: (weconsultants@users)            CommonSwing.errorMessage(e);        } finally {            m.setWaiting(null);        }        if (c != null) {            m.connect(c);        }        // Added: (weconsultants@users): For preloadng FontDialogSwing        FontDialogSwing.CreatFontDialog(refForFontDialogSwing);        m.start();    }    /**     * This stuff is all quick, except for the refreshTree().     * This unit can be kicked off in main Gui thread.  The refreshTree     * will be backgrounded and this method will return.     */    public void connect(Connection c) {        schemaFilter = null;        if (c == null) {            return;        }        if (cConn != null) {            try {                cConn.close();            } catch (SQLException e) {                //  Added: (weconsultants@users)                CommonSwing.errorMessage(e);            }        }        cConn = c;        // Added: (weconsultants@users) Need to barrow to get the table rowcounts        rowConn = c;        try {            dMeta      = cConn.getMetaData();            sStatement = cConn.createStatement();            updateAutoCommitBox();            // Workaround for EXTREME SLOWNESS getting this info from O.            showIndexDetails =                (dMeta.getDatabaseProductName().indexOf("Oracle") < 0);            refreshTree();            clearResultPanel();            if (fMain instanceof JApplet) {                getAppletContext().showStatus(                        "JDBC Connection established to a "                        + dMeta.getDatabaseProductName() + " v. "                        + dMeta.getDatabaseProductVersion()                        + " database as '" + dMeta.getUserName() + "'.");            }        } catch (SQLException e) {            //  Added: (weconsultants@users)            CommonSwing.errorMessage(e);        }    }    private static void showUsage() {        System.out.println(            "Usage: java DatabaseManagerSwing [--options]\n"            + "where options include:\n"            + "    --driver <classname>  jdbc driver class\n"            + "    --url <name>          jdbc url\n"            + "    --user <name>         username used for connection\n"            + "    --password <password> password for this user\n"            + "    --urlid <urlid>       use url/user/password/driver in rc file\n"            + "    --rcfile <file>       (defaults to 'dbmanager.rc' in home dir)\n"            + "    --dir <path>          default directory\n"            + "    --script <file>       reads from script file\n"            + "    --noexit              do not call system.exit()\n"            + "(Single-hypen switches like '-driver' are also supported)");    }    private void insertTestData() {        try {            DatabaseManagerCommon.createTestTables(sStatement);            txtCommand.setText(                DatabaseManagerCommon.createTestData(sStatement));            for (int i = 0; i < DatabaseManagerCommon.testDataSql.length;                    i++) {                addToRecent(DatabaseManagerCommon.testDataSql[i]);            }            executeCurrentSQL();        } catch (SQLException e) {            //  Added: (weconsultants@users)            CommonSwing.errorMessage(e);        }    }    public void setMustExit(boolean b) {        this.bMustExit = b;    }    private DBMPrefs prefs = null;    public void main() {        JMenu jmenu;        JMenuItem mitem;        try {            prefs = new DBMPrefs(fMain instanceof JApplet);        } catch (Exception e) {            System.err.println(                    "Failed to load preferences.  Proceeding with defaults:\n");        }        if (prefs == null) {            setLF(CommonSwing.Native);        } else {            autoRefresh      = prefs.autoRefresh;            displayRowCounts = prefs.showRowCounts;            showSys          = prefs.showSysTables;            showSchemas      = prefs.showSchemas;            gridFormat       = prefs.resultGrid;            showTooltips     = prefs.showTooltips;            setLF(prefs.laf);        }        // (ulrivo): An actual icon.  N.b., this adds some tips to the tip map        fMain.getContentPane().add(createToolBar(), "North");        if (fMain instanceof java.awt.Frame) {            ((java.awt.Frame) fMain).setIconImage(CommonSwing.getIcon("Frame"));        }        if (fMain instanceof java.awt.Window) {            ((java.awt.Window) fMain).addWindowListener(this);        }        JMenuBar bar = new JMenuBar();        // used shortcuts: CERGTSIUDOLM        String[] fitems = {            "-Connect...", "--", "OOpen Script...", "-Save Script...",            "-Save Result...", "--", "-Exit"        };        jmenu = addMenu(bar, "File", fitems);        // All actions after Connect and the divider are local.        for (int i = 2; i < jmenu.getItemCount(); i++) {            mitem = jmenu.getItem(i);            if (mitem != null) {                localActionList.add(mitem);            }        }        Object[] vitems = {            "RRefresh Tree", boxAutoRefresh, "--", boxRowCounts, boxShowSys,            boxShowSchemas, boxShowGrid        };        addMenu(bar, "View", vitems);        String[] sitems = {            "SSELECT", "IINSERT", "UUPDATE", "DDELETE", "EEXECUTE", "---",            "-CREATE TABLE", "-DROP TABLE", "-CREATE INDEX", "-DROP INDEX",            "--", "-CHECKPOINT", "-SCRIPT", "-SET", "-SHUTDOWN", "--",            "-Test Script"        };        addMenu(bar, "Command", sitems);        mRecent = new JMenu("Recent");        mRecent.setMnemonic(KeyEvent.VK_R);        bar.add(mRecent);        ButtonGroup lfGroup = new ButtonGroup();        lfGroup.add(rbNativeLF);        lfGroup.add(rbJavaLF);        lfGroup.add(rbMotifLF);        boxShowSchemas.setSelected(showSchemas);        boxShowGrid.setSelected(gridFormat);        boxTooltips.setSelected(showTooltips);        boxShowGrid.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,                Event.CTRL_MASK));        boxAutoRefresh.setSelected(autoRefresh);        boxRowCounts.setSelected(displayRowCounts);        boxShowSys.setSelected(showSys);        rbNativeLF.setActionCommand("LFMODE:" + CommonSwing.Native);        rbJavaLF.setActionCommand("LFMODE:" + CommonSwing.Java);        rbMotifLF.setActionCommand("LFMODE:" + CommonSwing.Motif);        tipMap.put(mitemUpdateSchemas,                   "Refresh the schema list in this menu");        tipMap.put(rbAllSchemas, "Display items in all schemas");        tipMap.put(mitemAbout, "Display product information");        tipMap.put(mitemHelp, "Display advice for obtaining help");        tipMap.put(boxAutoRefresh,                   "Refresh tree (and schema list) automatically"                   + "when YOU modify database objects");        tipMap.put(boxShowSchemas,                   "Display object names in tree like schemaname.basename");        tipMap.put(rbNativeLF,                   "Set Look and Feel to Native for your platform");        tipMap.put(rbJavaLF, "Set Look and Feel to Java");        tipMap.put(rbMotifLF, "Set Look and Feel to Motif");        boxTooltips.setToolTipText(            "Display tooltips (hover text), like this");        tipMap.put(boxAutoCommit,                   "Shows current Auto-commit mode.  Click to change");        tipMap.put(            boxLogging,            "Shows current JDBC DriverManager logging mode.  Click to change");        tipMap.put(boxShowSys,

⌨️ 快捷键说明

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