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

📄 edittablepanel.java

📁 eq跨平台查询工具源码 eq跨平台查询工具源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        setEditingRow(newRow);        setEditingColumn(1);        ((DefaultCellEditor)getCellEditor(newRow, 1)).getComponent().requestFocus();    }    /**      * Marks the currently selected column (table row)     * to be deleted/dropped from this table.     */    public void markDeleteRow() {        int row = getSelectedRow();        if (row == -1) {            return;        }        tableEditingStopped(null);                if (isEditing()) {            removeEditor();        }                ColumnData cd = tableVector.elementAt(row);                // if its already a new row - just remove it        if (cd.isNewColumn()) {            int newEditingRow = (row == tableVector.size() - 1) ? row - 1 : row;            setEditingRow(newEditingRow);            tableVector.removeElementAt(row);            _model.fireTableRowsDeleted(row, row);            tempSqlText.remove(ADD + row);            addColumnLines(-1);            return;        }        // create the drop statement        sqlText.setLength(0);        sqlText.append(DROP_COLUMN_1);                String schema = cd.getSchema();        if (!MiscUtils.isNull(schema)) {            sqlText.append(schema.toUpperCase()).append(DOT);        }                sqlText.append(cd.getTableName());        sqlText.append(DROP_COLUMN_2);        sqlText.append(cd.getColumnName());        sqlText.append(NEW_LINE);        tempSqlText.put(DROP + row, sqlText.toString());                // mark the column to be dumped        cd.setMarkedDeleted(true);                // regenerate the SQL        generateSQL();                // fire the event        _model.fireTableRowsUpdated(row, row);    }    public void reset() {        sqlText.setLength(0);        tempSqlText.clear();    }        public void tableChanged(int col, int row, String value) {        sqlText.setLength(0);        ColumnData cd = (ColumnData)tableVector.get(row);                switch(col) {                        case 1:                if (value == null) {                    return;                }                                if (cd.isNewColumn()) {                                        sqlText.append(ALTER_TABLE);                                        String schema = cd.getSchema();                    if (!MiscUtils.isNull(schema)) {                        sqlText.append(schema.toUpperCase()).append(DOT);                    }                    sqlText.append(creator.getTableName()).                            append(ADD).                            append(value).                            append(SPACE);                    value = cd.getColumnType();                                        if (value != null && value.length() > 0) {                        sqlText.append(value).append(OPEN_B).append(cd.getColumnSize());                                                int scale = cd.getColumnScale();                        if (scale != 0) {                            sqlText.append(COMMA).append(scale);                        }                                                sqlText.append(CLOSE_B).append(cd.isRequired() ? NOT_NULL : NULL);                    }                                        sqlText.append(NEW_LINE);                    tempSqlText.put(ADD + row, sqlText.toString());                                    }                else {                                        if (originalData[row].getColumnName().equals(value)) {                        tempSqlText.remove(RENAME_COLUMN + row);                    }                    else {                           sqlText.append(ALTER_TABLE);                                                String schema = cd.getSchema();                        if (!MiscUtils.isNull(schema)) {                            sqlText.append(schema.toUpperCase()).append(DOT);                        }                        sqlText.append(originalData[row].getTableName()).                                append(RENAME_COLUMN).                                append(originalData[row].getColumnName()).                                append(TO).append(value).                                append(NEW_LINE);                                                tempSqlText.put(RENAME_COLUMN + row, sqlText.toString());                                            }                                    }                                break;                            case 2:            case 3:            case 4:            case 5:                tableChanged(cd, row, col);                break;                        }        generateSQL();        creator.setSQLText(sqlText.toString(), TableModifier.COLUMN_VALUES);    }        private void tableChanged(ColumnData cd, int row, int col) {        sqlText.setLength(0);                int size = cd.getColumnSize();        int scale = cd.getColumnScale();        String type = cd.getColumnType();                /*        if (col == 2) {            type = (String)comboCell.getCellEditorValue();        } else if (col == 3) {            size = sizeEditor.getValue();        } else if (col == 4) {            scale = scaleEditor.getValue();        }        */        if (cd.isNewColumn()) {            sqlText.append(ALTER_TABLE);                        String schema = cd.getSchema();            if (!MiscUtils.isNull(schema)) {                sqlText.append(schema.toUpperCase()).append(DOT);            }            sqlText.append(creator.getTableName()).                    append(ADD).                    append(cd.getColumnName()).                    append(SPACE).                    append(type).                    append(OPEN_B).                    append(size);                        if (scale != 0) {                sqlText.append(COMMA).append(scale);            }            sqlText.append(CLOSE_B).                    append(cd.isRequired() ? NOT_NULL : NULL).                    append(NEW_LINE);                        tempSqlText.put(ADD + row, sqlText.toString());        }                else if (originalData[row].getColumnSize() == size &&                    originalData[row].getColumnType().equals(type) &&                    originalData[row].getColumnScale() == scale &&                    originalData[row].isRequired() == cd.isRequired()) {                        tempSqlText.remove(MODIFY + row);                    }        else {                        sqlText.append(ALTER_TABLE);                        String schema = cd.getSchema();            if (!MiscUtils.isNull(schema)) {                sqlText.append(schema.toUpperCase()).append(DOT);            }            sqlText.append(originalData[row].getTableName()).                    append(MODIFY).                    append(cd.getColumnName()).                    append(SPACE).                    append(type).                    append(OPEN_B).                    append(size);                        if (scale != 0) {                sqlText.append(COMMA).append(scale);            }            sqlText.append(CLOSE_B).                    append(cd.isRequired() ? NOT_NULL : NULL).                    append(CLOSE_B).                    append(NEW_LINE);                        tempSqlText.put(MODIFY + row, sqlText.toString());        }                generateSQL();        creator.setSQLText(sqlText.toString(), TableModifier.COLUMN_VALUES);    }        private void generateSQL() {       sqlText.setLength(0);                for (Enumeration i = tempSqlText.elements(); i.hasMoreElements();) {            sqlText.append((String)i.nextElement());        }            }        /** <p>Adds all the column definition lines to     *  the SQL text buffer for display.     *     *  @param the current row being edited     */    public void addColumnLines(int row) {        generateSQL();        creator.setSQLText(sqlText.toString(), TableModifier.COLUMN_VALUES);    }         private class MouseHandler extends MouseAdapter {        public void mouseClicked(MouseEvent e) {            int mouseX = e.getX();            int mouseY = e.getY();                        int col = getTable().columnAtPoint(new Point(mouseX, mouseY));            if (col != 0) {                return;            }            ColumnData[] cda = getTableColumnData();            int row = getTable().rowAtPoint(new Point(mouseX, mouseY));            for (int i = 0; i < cda.length; i++) {                if (i == row) {                    if (cda[i].isMarkedDeleted()) {                        cda[i].setMarkedDeleted(false);                        tempSqlText.remove(DROP + row);                        _model.fireTableRowsUpdated(row, row);                        generateSQL();                        creator.setSQLText();                    }                    break;                }                            }        }    }    }

⌨️ 快捷键说明

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