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

📄 dialvalueindicator.java

📁 java图形利器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
     * Returns the background paint.     *      * @return The background paint.     */    public Paint getBackgroundPaint() {        return this.backgroundPaint;    }        /**     * Sets the background paint.     *      * @param paint  the paint (<code>null</code> not permitted).     */    public void setBackgroundPaint(Paint paint) {        if (paint == null) {            throw new IllegalArgumentException("Null 'paint' argument.");        }        this.backgroundPaint = paint;        notifyListeners(new DialLayerChangeEvent(this));          }        /**     * Returns the outline stroke.     *      * @return The outline stroke.     */    public Stroke getOutlineStroke() {        return this.outlineStroke;    }         /**     * Sets the outline stroke.     *      * @param stroke  the stroke (<code>null</code> not permitted).     */    public void setOutlineStroke(Stroke stroke) {        if (stroke == null) {            throw new IllegalArgumentException("Null 'stroke' argument.");        }        this.outlineStroke = stroke;        notifyListeners(new DialLayerChangeEvent(this));    }        /**     * Returns the outline paint.     *      * @return The outline paint.     */    public Paint getOutlinePaint() {        return this.outlinePaint;    }        /**     * Sets the outline paint and sends a {@link DialLayerChangeEvent} to all     * registered listeners.     *      * @param paint  the paint.     */    public void setOutlinePaint(Paint paint) {        if (paint == null) {            throw new IllegalArgumentException("Null 'paint' argument.");        }        this.outlinePaint = paint;        notifyListeners(new DialLayerChangeEvent(this));    }        /**     * Returns the insets.     *      * @return The insets (never <code>null</code>).     */    public RectangleInsets getInsets() {        return this.insets;    }        /**     * Sets the insets.     *      * @param insets  the insets (<code>null</code> not permitted).     */    public void setInsets(RectangleInsets insets) {        if (insets == null) {            throw new IllegalArgumentException("Null 'insets' argument.");        }        this.insets = insets;        notifyListeners(new DialLayerChangeEvent(this));            }        /**     * Returns the value anchor.     *      * @return The value anchor.     */    public RectangleAnchor getValueAnchor() {        return this.valueAnchor;    }        /**     * Sets the value anchor.     *      * @param anchor  the anchor (<code>null</code> not permitted).     */    public void setValueAnchor(RectangleAnchor anchor) {        if (anchor == null) {            throw new IllegalArgumentException("Null 'anchor' argument.");        }        this.valueAnchor = anchor;        notifyListeners(new DialLayerChangeEvent(this));                    }        /**     * Returns the text anchor.     *      * @return The text anchor.     */    public TextAnchor getTextAnchor() {        return this.textAnchor;    }        /**     * Sets the text anchor.     *      * @param anchor  the anchor (<code>null</code> not permitted).     */    public void setTextAnchor(TextAnchor anchor) {        if (anchor == null) {            throw new IllegalArgumentException("Null 'anchor' argument.");        }        this.textAnchor = anchor;        notifyListeners(new DialLayerChangeEvent(this));                            }        /**     * Returns <code>true</code> to indicate that this layer should be      * clipped within the dial window.      *     * @return <code>true</code>.     */    public boolean isClippedToWindow() {        return true;    }        /**     * Draws the background to the specified graphics device.  If the dial     * frame specifies a window, the clipping region will already have been      * set to this window before this method is called.     *     * @param g2  the graphics device (<code>null</code> not permitted).     * @param plot  the plot (ignored here).     * @param frame  the dial frame (ignored here).     * @param view  the view rectangle (<code>null</code> not permitted).      */    public void draw(Graphics2D g2, DialPlot plot, Rectangle2D frame,             Rectangle2D view) {        // work out the anchor point        Rectangle2D f = DialPlot.rectangleByRadius(frame, this.radius,                 this.radius);        Arc2D arc = new Arc2D.Double(f, this.angle, 0.0, Arc2D.OPEN);        Point2D pt = arc.getStartPoint();                // calculate the bounds of the template value        FontMetrics fm = g2.getFontMetrics(this.font);        String s = this.formatter.format(this.templateValue);        Rectangle2D tb = TextUtilities.getTextBounds(s, g2, fm);        // align this rectangle to the frameAnchor        Rectangle2D bounds = RectangleAnchor.createRectangle(new Size2D(                tb.getWidth(), tb.getHeight()), pt.getX(), pt.getY(),                 this.frameAnchor);                // add the insets        Rectangle2D fb = this.insets.createOutsetRectangle(bounds);        // draw the background        g2.setPaint(this.backgroundPaint);        g2.fill(fb);        // draw the border        g2.setStroke(this.outlineStroke);        g2.setPaint(this.outlinePaint);        g2.draw(fb);                        // now find the text anchor point        double value = plot.getValue(this.datasetIndex);        String valueStr = this.formatter.format(value);        Point2D pt2 = RectangleAnchor.coordinates(bounds, this.valueAnchor);        g2.setPaint(this.paint);        g2.setFont(this.font);        TextUtilities.drawAlignedString(valueStr, g2, (float) pt2.getX(),                 (float) pt2.getY(), this.textAnchor);            }        /**     * Tests this instance for equality with an arbitrary object.     *     * @param obj  the object (<code>null</code> permitted).     *     * @return A boolean.     */    public boolean equals(Object obj) {        if (obj == this) {            return true;        }        if (!(obj instanceof DialValueIndicator)) {            return false;        }        DialValueIndicator that = (DialValueIndicator) obj;        if (this.datasetIndex != that.datasetIndex) {            return false;        }        if (this.angle != that.angle) {            return false;        }        if (this.radius != that.radius) {            return false;        }        if (!this.frameAnchor.equals(that.frameAnchor)) {            return false;        }        if (!this.templateValue.equals(that.templateValue)) {            return false;        }        if (!this.font.equals(that.font)) {            return false;        }        if (!PaintUtilities.equal(this.paint, that.paint)) {            return false;        }        if (!PaintUtilities.equal(this.backgroundPaint, that.backgroundPaint)) {            return false;        }        if (!this.outlineStroke.equals(that.outlineStroke)) {            return false;        }        if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint)) {            return false;        }        if (!this.insets.equals(that.insets)) {            return false;        }        if (!this.valueAnchor.equals(that.valueAnchor)) {            return false;        }        if (!this.textAnchor.equals(that.textAnchor)) {            return false;        }                return true;    }        /**     * Returns a hash code for this instance.     *      * @return The hash code.     */    public int hashCode() {        int result = 193;        result = 37 * result + HashUtilities.hashCodeForPaint(this.paint);        result = 37 * result + HashUtilities.hashCodeForPaint(                this.backgroundPaint);        result = 37 * result + HashUtilities.hashCodeForPaint(                this.outlinePaint);        result = 37 * result + this.outlineStroke.hashCode();        return result;    }        /**     * Returns a clone of this instance.     *     * @return The clone.     *     * @throws CloneNotSupportedException if some attribute of this instance     *     cannot be cloned.     */    public Object clone() throws CloneNotSupportedException {        return super.clone();    }    /**     * Provides serialization support.     *     * @param stream  the output stream.     *     * @throws IOException  if there is an I/O error.     */    private void writeObject(ObjectOutputStream stream) throws IOException {        stream.defaultWriteObject();        SerialUtilities.writePaint(this.paint, stream);        SerialUtilities.writePaint(this.backgroundPaint, stream);        SerialUtilities.writePaint(this.outlinePaint, stream);        SerialUtilities.writeStroke(this.outlineStroke, stream);    }    /**     * Provides serialization support.     *     * @param stream  the input stream.     *     * @throws IOException  if there is an I/O error.     * @throws ClassNotFoundException  if there is a classpath problem.     */    private void readObject(ObjectInputStream stream)             throws IOException, ClassNotFoundException {        stream.defaultReadObject();        this.paint = SerialUtilities.readPaint(stream);        this.backgroundPaint = SerialUtilities.readPaint(stream);        this.outlinePaint = SerialUtilities.readPaint(stream);        this.outlineStroke = SerialUtilities.readStroke(stream);    }}

⌨️ 快捷键说明

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