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

📄 jdbcxydataset.java

📁 Web图形化的Java库
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                    isTimeSeries = true;
                    break;
                default :
                    isTimeSeries = false;
                    break;
            }

            // Get all rows.
            rows = new Vector();
            while (resultSet.next()) {
                Vector newRow = new Vector();
                for (column = 0; column < numberOfColumns; column++) {
                    xObject = resultSet.getObject(column + 1);
                    switch (columnTypes[column]) {
                        case Types.NUMERIC:
                        case Types.REAL:
                        case Types.INTEGER:
                        case Types.DOUBLE:
                        case Types.FLOAT:
                        case Types.DECIMAL:
                        case Types.BIGINT:
                            newRow.addElement(xObject);
                            break;

                        case Types.DATE:
                        case Types.TIME:
                        case Types.TIMESTAMP:
                            newRow.addElement(new Long(((java.util.Date) xObject).getTime()));
                            break;
                        case Types.NULL:
                            break;
                        default:
                            System.err.println("Unknown data");
                            columnTypes[column] = Types.NULL;
                            break;
                    }
                }
                rows.addElement(newRow);
            }

            /// a kludge to make everything work when no rows returned
            if (rows.size() == 0) {
                Vector newRow = new Vector();
                for (column = 0; column < numberOfColumns; column++) {
                    if (columnTypes[column] != Types.NULL) {
                        newRow.addElement(new Integer(0));
                    }
                }
                rows.addElement(newRow);
            }

            /// Determine max and min values.
            if (rows.size() < 1) {
                maxValue = 0.0;
                minValue = 0.0;
            }
            else {
                Vector row = (Vector) rows.elementAt(0);
                double test;
                maxValue = ((Number) row.get(1)).doubleValue();
                minValue = maxValue;
                for (int rowNum = 0; rowNum < rows.size(); ++rowNum) {
                    row = (Vector) rows.elementAt(rowNum);
                    for (column = 1; column < numberOfColumns; column++) {
                        test = ((Number) row.get(column)).doubleValue();
                        if (test < minValue) {
                            minValue = test;
                        }
                        if (test > maxValue) {
                            maxValue = test;
                        }
                    }
                }
            }

            fireDatasetChanged(); // Tell the listeners a new table has arrived.
        }
        catch (SQLException ex) {
            System.err.println(ex);
            ex.printStackTrace();
        }
        finally {
            if (resultSet != null) {
                try {
                    resultSet.close();
                }
                catch (Exception e) {
                }
            }
            if (statement != null) {
                try {
                    statement.close();
                }
                catch (Exception e) {
                }
            }
        }

    }

    /**
     * Returns the x-value for the specified series and item.  The
     * implementation is responsible for ensuring that the x-values are
     * presented in ascending order.
     *
     * @param  seriesIndex  The series (zero-based index).
     * @param  itemIndex    The item (zero-based index).
     *
     * @return              The x-value
     *
     * @see                 XYDataset
     */
    public Number getXValue(int seriesIndex, int itemIndex) {
        Vector row = (Vector) rows.elementAt(itemIndex);
        return (Number) row.elementAt(0);
    }

    /**
     * Returns the y-value for the specified series and item.
     *
     * @param  seriesIndex  The series (zero-based index).
     * @param  itemIndex    The item (zero-based index).
     *
     * @return              The yValue value
     *
     * @see                 XYDataset
     */
    public Number getYValue(int seriesIndex, int itemIndex) {
        Vector row = (Vector) rows.elementAt(itemIndex);
        return (Number) row.elementAt(seriesIndex + 1);
    }

    /**
     * Returns the number of items in the specified series.
     *
     * @param  seriesIndex  The series (zero-based index).
     *
     * @return              The itemCount value
     *
     * @see                 XYDataset
     */
    public int getItemCount(int seriesIndex) {
        return rows.size();
    }

    /**
     * Returns the number of series in the dataset.
     *
     * @return    The seriesCount value
     *
     * @see       XYDataset
     * @see       Dataset
     */
    public int getSeriesCount() {
        return columnNames.length;
    }

    /**
     * Returns the name of the specified series.
     *
     * @param  seriesIndex  The series (zero-based index).
     *
     * @return              The seriesName value
     *
     * @see                 XYDataset
     * @see                 Dataset
     */
    public String getSeriesName(int seriesIndex) {

        if ((seriesIndex < columnNames.length) && (columnNames[seriesIndex] != null)) {
            return columnNames[seriesIndex];
        }
        else {
            return "";
        }

    }

    /**
     * Returns the number of items that should be displayed in the legend.
     *
     * @return  The legendItemCount value
     */
    public int getLegendItemCount() {
        return getSeriesCount();
    }

    /**
     * Returns the legend item labels.
     *
     * @return  The legend item labels.
     */
    public String[] getLegendItemLabels() {
        return columnNames;
    }

    /**
     * Returns the minimum data value in the dataset's range.
     *
     * @return  The minimum value.
     *
     * @see     RangeInfo
     */
    public Number getMinimumRangeValue() {
        return new Double(minValue);
    }

    /**
     * Returns the maximum data value in the dataset's range.
     *
     * @return  The maximum value.
     *
     * @see     RangeInfo
     */
    public Number getMaximumRangeValue() {
        return new Double(maxValue);
    }

    /**
     * Close the database connection
     */
    public void close() {

        try {
            resultSet.close();
        }
        catch (Exception e) {
            System.err.println("JdbcXYDataset: swallowing exception.");
        }
        try {
            statement.close();
        }
        catch (Exception e) {
            System.err.println("JdbcXYDataset: swallowing exception.");
        }
        try {
            connection.close();
        }
        catch (Exception e) {
            System.err.println("JdbcXYDataset: swallowing exception.");
        }

    }

    /**
     * Returns the range of the values in this dataset's range (y-values).
     *
     * @return  The range.
     */
    public Range getValueRange() {
        return new Range(minValue, maxValue);
    }

}

⌨️ 快捷键说明

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