reportelement.java

来自「优秀的打印控件全源代码,类似水晶表的设计器!」· Java 代码 · 共 947 行 · 第 1/2 页

JAVA
947
字号
                    break;                }            }        }                position.x += 10;        position.y += 10;    }        /*     *  This method should be called when you modify height, width,     *  or position manually.     */    public void updateBounds() {        bounds = new Rectangle(position.x,position.y,width,height);    }    public Point trasformTest(Point delta, int type) {        if (delta == null) return null;        Point result = new Point(delta);        int old_x = 0;        int old_y = 0;        if (type == TransformationType.TRANSFORMATION_MOVE) {        }        else if (type == TransformationType.TRANSFORMATION_RESIZE_E) {            old_x = width;            old_x += delta.x;            if (old_x <0) old_x=0;            result.x = old_x-width;        }        else if (type == TransformationType.TRANSFORMATION_RESIZE_W) {            result.x = Math.min(delta.x,width);        }        else if (type == TransformationType.TRANSFORMATION_RESIZE_N) {            result.y = Math.min(delta.y,height);        }        else if (type == TransformationType.TRANSFORMATION_RESIZE_S) {            old_y = height;            old_y += delta.y;            if (old_y <0) old_y=0;            result.y = old_y - height;        }        else if (type == TransformationType.TRANSFORMATION_RESIZE_SE) {            old_y = height;            old_x = width;            old_y += delta.y;            if (old_y <0) old_y=0;            old_x += delta.x;            if (old_x <0) old_x=0;            result.x = old_x - width;            result.y = old_y - height;        }        else if (type == TransformationType.TRANSFORMATION_RESIZE_SW) {            old_y = height;            old_y += delta.y;            if (old_y <0) old_y=0;            result.x = Math.min(delta.x,width);            result.y =old_y - height;        }        else if (type == TransformationType.TRANSFORMATION_RESIZE_NE) {            old_x = width;            result.y = Math.min(delta.y,height);            old_x += delta.x;            if (old_x <0) old_x=0;            result.x = old_x - width;        }        else if (type == TransformationType.TRANSFORMATION_RESIZE_NW) {                        result.y = Math.min(delta.y,height);            result.x = Math.min(delta.x,width);        }        return result;    }        public String toString() {        return name+" ["+(position.x-band.getParent().getRightMargin()-10)+","+ (position.y-band.getBandYLocation()-10) + "]";    }        public int getZoomedDim(int dim) {        if (zoom_factor == 1.0) return dim;        //if (((double)dim*(double)zoom_factor)<0.5) return 1;        // Truncate, don't round!!        return (int)((double)dim*zoom_factor);        //return (int)Math.ceil((double)dim*zoom_factor);    }        public double getZoomedDim(double dim) {        if (zoom_factor == 1.0) return dim;        //if (((double)dim*(double)zoom_factor)<0.5) return 1;        // Truncate, don't round!!        return ((double)dim*zoom_factor);        //return (int)Math.ceil((double)dim*zoom_factor);    }        public int getLogicalDim(int dim) {        if (zoom_factor == 1.0) return dim;        //if (Math.abs(  ((double)dim/(double)zoom_factor)) < 1 &&        //	Math.abs(  ((double)dim/(double)zoom_factor)) > 0) return 1;        // Truncate, don't round!!        return (int)((double)dim/zoom_factor);        //return (int)Math.ceil((double)dim/zoom_factor);    }            public ReportElement cloneMe() {        ReportElement newReportElement = new ReportElement(position.x, position.y, width, height);        newReportElement.name = new String(name);        newReportElement.band = band;        newReportElement.transparent = transparent;        copyElementPropertiesTo(newReportElement);                return newReportElement;    }        public void copyElementPropertiesTo(ReportElement newReportElement) {        newReportElement.printWhenExpression = printWhenExpression;        newReportElement.positionType = positionType;        newReportElement.isPrintRepeatedValues = isPrintRepeatedValues;        newReportElement.isRemoveLineWhenBlank = isRemoveLineWhenBlank;        newReportElement.isPrintInFirstWholeBand = isPrintInFirstWholeBand;        newReportElement.isPrintWhenDetailOverflows = isPrintWhenDetailOverflows;    }        public static String string_replace(String s1, String s2, String s3) {        String string="";        string = "";                if (s2 == null || s3 == null || s2.length() == 0) return s3;                int pos_i = 0; // posizione corrente.        int pos_f = 0; // posizione corrente finale                int len = s2.length();        while ( (pos_f = s3.indexOf(s2, pos_i)) >= 0) {            string += s3.substring(pos_i,pos_f)+s1;            //+string.substring(pos+ s2.length());            pos_f = pos_i = pos_f + len;                    }                string += s3.substring(pos_i);                return string;    }        public Stroke getPenStroke(String pen, double zoom_factor) {                if (pen == null || pen.equals("None")) return null;        if (pen.equals("Dotted")) {            return (Stroke)new BasicStroke(            (float)(1f * zoom_factor),            BasicStroke.CAP_BUTT,            BasicStroke.JOIN_BEVEL,            0f,            new float[]{5f, 3f},            0f            );        }        else if (pen.equals("2Point")) {            return (Stroke)new BasicStroke((float)(2f*zoom_factor));        }        else if (pen.equals("3Point")) {            return (Stroke)new BasicStroke((float)(3f*zoom_factor));        }        else if (pen.equals("4Point")) {            return (Stroke)new BasicStroke((float)(4f*zoom_factor));        }        else if (pen.equals("Thin")) {                        return (Stroke)new BasicStroke( (float)(1f*zoom_factor));        }        else //if (pen.equals("1Point"))        {            return (Stroke)new BasicStroke((float)(1f*zoom_factor));        }    }                    /** Getter for property width.     * @return Value of property width.     *     */    public int getWidth() {        return width;    }        /** Setter for property width.     * @param width New value of property width.     *     */    public void setWidth(int width) {        this.width = width;    }        /** Getter for property height.     * @return Value of property height.     *     */    public int getHeight() {        return height;    }        /** Setter for property height.     * @param height New value of property height.     *     */    public void setHeight(int height) {        this.height = height;    }        /** Getter for property position.     * @return Value of property position.     *     */    public java.awt.Point getPosition() {        return position;    }        /** Getter for property band.     * @return Value of property band.     *     */    public it.businesslogic.ireport.Band getBand() {        return band;    }        /** Setter for property band.     * @param band New value of property band.     *     */    public void setBand(it.businesslogic.ireport.Band band) {        this.band = band;    }        /** Getter for property transparent.     * @return Value of property transparent.     *     */    public java.lang.String getTransparent() {        return transparent;    }        /** Setter for property transparent.     * @param transparent New value of property transparent.     *     */    public void setTransparent(java.lang.String transparent) {        this.transparent = transparent;    }        /** Getter for property positionType.     * @return Value of property positionType.     *     */    public java.lang.String getPositionType() {        return positionType;    }        /** Setter for property positionType.     * @param positionType New value of property positionType.     *     */    public void setPositionType(java.lang.String positionType) {        this.positionType = positionType;    }        /** Getter for property isPrintInFirstWholeBand.     * @return Value of property isPrintInFirstWholeBand.     *     */    public boolean isIsPrintInFirstWholeBand() {        return isPrintInFirstWholeBand;    }        /** Setter for property isPrintInFirstWholeBand.     * @param isPrintInFirstWholeBand New value of property isPrintInFirstWholeBand.     *     */    public void setIsPrintInFirstWholeBand(boolean isPrintInFirstWholeBand) {        this.isPrintInFirstWholeBand = isPrintInFirstWholeBand;    }        /** Getter for property printWhenExpression.     * @return Value of property printWhenExpression.     *     */    public java.lang.String getPrintWhenExpression() {        return printWhenExpression;    }        /** Setter for property printWhenExpression.     * @param printWhenExpression New value of property printWhenExpression.     *     */    public void setPrintWhenExpression(java.lang.String printWhenExpression) {        this.printWhenExpression = printWhenExpression;    }        /** Getter for property isPrintRepeatedValues.     * @return Value of property isPrintRepeatedValues.     *     */    public boolean isIsPrintRepeatedValues() {        return isPrintRepeatedValues;    }        /** Setter for property isPrintRepeatedValues.     * @param isPrintRepeatedValues New value of property isPrintRepeatedValues.     *     */    public void setIsPrintRepeatedValues(boolean isPrintRepeatedValues) {        this.isPrintRepeatedValues = isPrintRepeatedValues;    }        /** Getter for property fgcolor.     * @return Value of property fgcolor.     *     */    public java.awt.Color getFgcolor() {        return fgcolor;    }        /** Setter for property fgcolor.     * @param fgcolor New value of property fgcolor.     *     */    public void setFgcolor(java.awt.Color fgcolor) {        this.fgcolor = fgcolor;    }        /** Getter for property bgcolor.     * @return Value of property bgcolor.     *     */    public java.awt.Color getBgcolor() {        return bgcolor;    }        /** Setter for property bgcolor.     * @param bgcolor New value of property bgcolor.     *     */    public void setBgcolor(java.awt.Color bgcolor) {        this.bgcolor = bgcolor;    }        /** Getter for property isRemoveLineWhenBlank.     * @return Value of property isRemoveLineWhenBlank.     *     */    public boolean isIsRemoveLineWhenBlank() {        return isRemoveLineWhenBlank;    }        /** Setter for property isRemoveLineWhenBlank.     * @param isRemoveLineWhenBlank New value of property isRemoveLineWhenBlank.     *     */    public void setIsRemoveLineWhenBlank(boolean isRemoveLineWhenBlank) {        this.isRemoveLineWhenBlank = isRemoveLineWhenBlank;    }        /** Getter for property printWhenGroupChanges.     * @return Value of property printWhenGroupChanges.     *     */    public java.lang.String getPrintWhenGroupChanges() {        return printWhenGroupChanges;    }        /** Setter for property printWhenGroupChanges.     * @param printWhenGroupChanges New value of property printWhenGroupChanges.     *     */    public void setPrintWhenGroupChanges(java.lang.String printWhenGroupChanges) {        this.printWhenGroupChanges = printWhenGroupChanges;    }        /** Getter for property name.     * @return Value of property name.     *     */    public java.lang.String getName() {        return name;    }        /** Setter for property name.     * @param name New value of property name.     *     */    public void setName(java.lang.String name) {        this.name = name;    }        /** Getter for property isPrintWhenDetailOverflows.     * @return Value of property isPrintWhenDetailOverflows.     *     */    public boolean isIsPrintWhenDetailOverflows() {        return isPrintWhenDetailOverflows;    }        /** Setter for property isPrintWhenDetailOverflows.     * @param isPrintWhenDetailOverflows New value of property isPrintWhenDetailOverflows.     *     */    public void setIsPrintWhenDetailOverflows(boolean isPrintWhenDetailOverflows) {        this.isPrintWhenDetailOverflows = isPrintWhenDetailOverflows;    }        public void  copyBaseReportElement(ReportElement destination, ReportElement source) {        // Canonical report elements....        destination.setName( new String(source.getName()) );        destination.setBgcolor( source.getBgcolor());        destination.setFgcolor( source.getFgcolor() );        destination.setBand( source.getBand() );        destination.setPositionType(new String(source.getPositionType()));        destination.setIsPrintRepeatedValues( source.isIsPrintRepeatedValues());        destination.setIsPrintWhenDetailOverflows( source.isIsPrintWhenDetailOverflows());        destination.setIsRemoveLineWhenBlank(source.isIsRemoveLineWhenBlank());        destination.setPrintWhenExpression(new String( source.getPrintWhenExpression()));        destination.setPrintWhenGroupChanges(new String(source.getPrintWhenGroupChanges()));        destination.setTransparent(new String(source.getTransparent()));        destination.setIsPrintInFirstWholeBand(source.isIsPrintInFirstWholeBand());    }                                            /** Getter for property key.     * @return Value of property key.     *     */    public java.lang.String getKey() {        return name;    }        /** Setter for property key.     * @param key New value of property key.     *     */    public void setKey(java.lang.String key) {        this.name = key;    }                /** Getter for property stretchType.     * @return Value of property stretchType.     *     */    public java.lang.String getStretchType() {        return stretchType;    }        /** Setter for property stretchType.     * @param stretchType New value of property stretchType.     *     */    public void setStretchType(java.lang.String stretchType) {        this.stretchType = stretchType;    }            }

⌨️ 快捷键说明

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