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

📄 erdviewerpanel.java

📁 eq跨平台查询工具源码 eq跨平台查询工具源码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        ErdTable[] tablesArray = getAllComponentsArray();                for (int i = 0; i < tablesArray.length; i++) {            tableExtentX = tablesArray[i].getX() + tablesArray[i].getWidth();            tableExtentY = tablesArray[i].getY() + tablesArray[i].getHeight();                        if (tableExtentX > width)                width = tableExtentX;                        if (tableExtentY > height)                height = tableExtentY;                    }                if (erdTitlePanel != null) {            tableExtentX = erdTitlePanel.getX() + erdTitlePanel.getWidth();            tableExtentY = erdTitlePanel.getY() + erdTitlePanel.getHeight();                        if (tableExtentX > width)                width = tableExtentX;                        if (tableExtentY > height)                height = tableExtentY;                    }                return new Dimension(width + 20, height + 20);            }        public void removeAllTables() {        ErdTable[] allTables = getAllComponentsArray();                for (int i = 0; i < allTables.length; i++) {            allTables[i].clean();            layeredPane.remove(allTables[i]);            tables.remove(allTables[i]);            allTables[i] = null;        }                layeredPane.repaint();            }        public void setSavedErd(ErdSaveFileFormat savedErd) {        this.savedErd = savedErd;    }        public void setSavedErd(ErdSaveFileFormat _savedErd, String absolutePath) {                if (tables != null && tables.size() > 0) {            int confirm = GUIUtilities.displayConfirmDialog("Do you want to save your changes?");                        if (confirm == JOptionPane.YES_OPTION) {                                if (savedErd != null) {                    saveApplicationFileFormat(new File(savedErd.getAbsolutePath()));                } else {                    new ErdSaveDialog(this);                }            }                        removeAllTables();                    }                tables = new Vector();                Font columnNameFont = _savedErd.getColumnNameFont();        Font tableNameFont = _savedErd.getTableNameFont();                ErdTableFileData[] fileData = _savedErd.getTables();        ErdTable table = null;                for (int i = 0; i < fileData.length; i++) {            table = new ErdTable(fileData[i].getTableName(),            fileData[i].getColumnData(), this);                        table.setCreateTableScript(fileData[i].getCreateTableScript());            table.setAlterTableHash(fileData[i].getAlterTableHash());            table.setAlterTableScript(fileData[i].getAlterTableScript());            table.setAddConstraintsScript(fileData[i].getAddConstraintScript());            table.setBounds(fileData[i].getTableBounds());            table.setEditable(true);            table.setTableBackground(fileData[i].getTableBackground());                        layeredPane.add(table);            tables.add(table);            table.toFront();        }                ErdTitlePanelData titlePanelData = _savedErd.getTitlePanel();                if (titlePanelData != null) {            ErdTitlePanel _erdTitlePanel = new ErdTitlePanel(this,            titlePanelData.getErdName(),            titlePanelData.getErdDate(),            titlePanelData.getErdDescription(),            titlePanelData.getErdDatabase(),            titlePanelData.getErdAuthor(),            titlePanelData.getErdRevision(),            titlePanelData.getErdFileName());            _erdTitlePanel.setBounds(titlePanelData.getTitleBounds());            layeredPane.add(_erdTitlePanel);            _erdTitlePanel.toFront();            this.erdTitlePanel = _erdTitlePanel;        }                this.savedErd = _savedErd;        savedErd.setAbsolutePath(absolutePath);                tableFontName = tableNameFont.getName();        tableFontSize = columnNameFont.getSize();        tableNameFontStyle = tableNameFont.getStyle();        columnNameFontStyle = columnNameFont.getStyle();                if (savedErd.hasCanvasBackground())            setCanvasBackground(savedErd.getCanvasBackground());                fileName = savedErd.getFileName();        GUIUtilities.setTabTitleForComponent(this, TITLE + " - " + fileName);                dependsPanel.setTableDependencies(buildTableRelationships());        resizeCanvas();        layeredPane.validate();    }        public boolean hasOpenFile() {        return savedErd != null;    }        public boolean promptToSave() {                if (tables.size() > 0)            return true;        else            return false;            }        public int save(boolean saveAs) {                ErdSaveDialog saveDialog = null;                if (savedErd != null) {                        if (saveAs) {                saveDialog = new ErdSaveDialog(this, savedErd.getAbsolutePath());            } else {                return saveApplicationFileFormat(new File(savedErd.getAbsolutePath()));            }        }                else {            saveDialog = new ErdSaveDialog(this, new File(fileName));        }        int saved = saveDialog.getSaved();        saveDialog = null;                return saved;    }        protected int saveApplicationFileFormat(File file) {                ErdTable[] tables = getAllComponentsArray();        ErdTableFileData[] fileData = new ErdTableFileData[tables.length];                for (int i = 0; i < tables.length; i++) {            fileData[i] = new ErdTableFileData();            fileData[i].setTableBounds(tables[i].getBounds());            fileData[i].setTableName(tables[i].getTableName());            fileData[i].setCreateTableScript(tables[i].getCreateTableScript());            fileData[i].setColumnData(tables[i].getTableColumns());            fileData[i].setAlterTableHash(tables[i].getAlterTableHash());            fileData[i].setAlterTableScript(tables[i].getAlterTableScript());            fileData[i].setAddConstraintScript(tables[i].getAddConstraintsScript());            fileData[i].setDropConstraintScript(tables[i].getDropConstraintsScript());            fileData[i].setTableBackground(tables[i].getTableBackground());        }                ErdSaveFileFormat eqFormat = new ErdSaveFileFormat(fileData, file.getName());        eqFormat.setColumnNameFont(columnNameFont);        eqFormat.setTableNameFont(tableNameFont);        eqFormat.setTableBackground(tables[0].getTableBackground());        eqFormat.setAbsolutePath(file.getAbsolutePath());                if (erdTitlePanel != null) {            ErdTitlePanelData titlePanelData = new ErdTitlePanelData();            titlePanelData.setErdAuthor(erdTitlePanel.getErdAuthor());            titlePanelData.setErdDatabase(erdTitlePanel.getErdDatabase());            titlePanelData.setErdDate(erdTitlePanel.getErdDate());            titlePanelData.setErdDescription(erdTitlePanel.getErdDescription());            titlePanelData.setErdFileName(erdTitlePanel.getErdFileName());            titlePanelData.setErdName(erdTitlePanel.getErdName());            titlePanelData.setErdRevision(erdTitlePanel.getErdRevision());            titlePanelData.setTitleBounds(erdTitlePanel.getBounds());            eqFormat.setTitlePanel(titlePanelData);        }                if (!shouldDisplayGrid()) {            eqFormat.setCanvasBackground(getCanvasBackground());        } else {            eqFormat.setCanvasBackground(null);        }                try {                        FileOutputStream fileOut = new FileOutputStream(file);            BufferedOutputStream bufferedOut = new BufferedOutputStream(fileOut);            ObjectOutputStream obOut = new ObjectOutputStream(bufferedOut);            obOut.writeObject(eqFormat);                        bufferedOut.close();            obOut.close();            fileOut.close();            savedErd = eqFormat;            return SaveFunction.SAVE_COMPLETE;                    }        catch(Exception e) {            e.printStackTrace();            GUIUtilities.displayErrorMessage("An error occured saving to file:\n" +            e.getMessage());            return SaveFunction.SAVE_FAILED;        }            }        public void cleanup() {                // -------------------------------------------------        // memory leak noticed so 'shutdown hook' added        // to selected components used within this feature        // unitl fix is found.        // -------------------------------------------------                layeredPane.clean();        ErdTable[] tablesArray = getAllComponentsArray();                for (int i = 0; i < tablesArray.length; i++) {            tablesArray[i].clean();            tablesArray[i] = null;        }    }        public void showFontStyleDialog() {        new ErdFontStyleDialog(this);    }        public void showLineStyleDialog() {        new ErdLineStyleDialog(dependsPanel);    }        protected void setScaleComboValue(String value) {                if (!editable)            return;                tools.setScaleComboValue(value);    }        protected void setPopupMenuScaleValue(int index) {                if (!editable)            return;                layeredPane.setMenuScaleSelection(index);    }        protected double getScaleIndex() {        return layeredPane.getScale();    }        protected void setScaledView(double scale) {        ErdTable table = null;                if (tables == null)            tables = new Vector();                for (int i = 0, k = tables.size(); i < k; i++) {            table = (ErdTable)tables.elementAt(i);            table.setScale(scale);        }                if (erdTitlePanel != null)            erdTitlePanel.setScale(scale);                layeredPane.setScale(scale);        scroll.setScale(scale);        layeredPane.repaint();        resizeCanvas();    }        protected void zoom(boolean zoomIn) {                double scale = layeredPane.getScale();                if (zoomIn) {                        if (scale < 2.0) {                scale += 0.25;                tools.incrementScaleCombo(1);            }            else                return;                    } else {                        if (scale > 0.25) {                scale -= 0.25;                tools.incrementScaleCombo(-1);            }            else                return;                    }                setScaledView(scale);    }        public String getAllSQLText() {        char newLine = '\n';        StringBuffer sb = new StringBuffer();        ErdTable[] allTables = getAllComponentsArray();                for (int i = 0; i < allTables.length; i++) {                        if (allTables[i].hasSQLScripts()) {                sb.append(allTables[i].getAllSQLScripts()).                append(newLine);            }                    }                return sb.toString();    }        public String getErdFileName() {        return fileName;    }        public String getDisplayName() {        return toString();    }        public String toString() {        return TITLE + " - " + fileName;    }    public DatabaseConnection getDatabaseConnection() {        return databaseConnection;    }    public void setDatabaseConnection(DatabaseConnection databaseConnection) {        this.databaseConnection = databaseConnection;    }        // --------------------------------------------    // TabView implementation    // --------------------------------------------    /**     * Indicates the panel is being removed from the pane     */    public boolean tabViewClosing() {        // check if we are saving        if (SystemUtilities.isPromptingToSave()) {            if (!GUIUtilities.saveOpenChanges(this)) {                return false;            }        }        cleanup();        return true;    }    // --------------------------------------------}

⌨️ 快捷键说明

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