rectanglereportelement.java
来自「优秀的打印控件全源代码,类似水晶表的设计器!」· Java 代码 · 共 147 行
JAVA
147 行
/* * RectangleReportElement.java * * iReport -- Visual designer for generating JasperReports Documents * Copyright (C) 2002 Giulio Toffoli gt@businesslogic.it * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * Giulio Toffoli * Via T.Aspetti, 233 * 35100 Padova ITALY * gt@businesslogic.it * * Created on 28 febbraio 2003, 19.20 */package it.businesslogic.ireport;import it.businesslogic.ireport.gui.*;import it.businesslogic.ireport.util.*;import java.awt.*;import java.awt.image.*;import java.awt.geom.*;public class RectangleReportElement extends GraphicReportElement { public int radius = 0; public RectangleReportElement(int x, int y, int width, int height) { super(x,y,width,height); setGraphicElementPen("Thin"); this.bgcolor = Color.WHITE; this.fgcolor = Color.BLACK; setKey("rectangle"); } public RectangleReportElement(int x, int y, int width, int height, int radius) { this(x,y,width,height); this.radius = radius; setKey("rectangle"); } public void drawObject(Graphics2D g,double zoom_factor, int x_shift_origin, int y_shift_origin) { position.x -= 10; position.y -= 10; x_shift_origin -= 10; y_shift_origin -= 10; this.zoom_factor = zoom_factor; g.setColor( bgcolor ); if (!getTransparent().equalsIgnoreCase("Transparent")) g.fillRoundRect( getZoomedDim(position.x)-x_shift_origin, getZoomedDim(position.y)-y_shift_origin, getZoomedDim(width), getZoomedDim(height), 2*this.radius, 2*this.radius); g.setColor( this.fgcolor ); position.x += 10; position.y += 10; x_shift_origin += 10; y_shift_origin += 10; drawGraphicsElement(g,this.getGraphicElementPen(), zoom_factor, x_shift_origin,y_shift_origin, 2*this.radius); } public ReportElement cloneMe() { RectangleReportElement newReportElement = new RectangleReportElement(position.x, position.y, width, height); copyBaseReportElement(newReportElement, this); return newReportElement; } public void drawGraphicsElement(Graphics2D g, String pen, double zoom_factor, int x_shift_origin, int y_shift_origin) { Stroke stroke = getPenStroke( pen,zoom_factor ); g.setColor( this.fgcolor ); this.zoom_factor = zoom_factor; if (stroke==null || pen.equalsIgnoreCase("None")) return; position.x -= 10; position.y -= 10; x_shift_origin -= 10; y_shift_origin -= 10; Stroke oldStroke = g.getStroke(); g.setStroke(stroke); g.drawRoundRect( getZoomedDim(position.x)-x_shift_origin, getZoomedDim(position.y)-y_shift_origin, getZoomedDim(width),getZoomedDim(height), 2*this.radius, 2*this.radius); position.x += 10; position.y += 10; g.setStroke(oldStroke); } /** Getter for property radius. * @return Value of property radius. * */ public int getRadius() { return radius; } /** Setter for property radius. * @param radius New value of property radius. * */ public void setRadius(int radius) { this.radius = radius; } public void copyBaseReportElement(ReportElement destination, ReportElement source) { super.copyBaseReportElement(destination, source); if (destination instanceof RectangleReportElement && source instanceof RectangleReportElement ) { ((RectangleReportElement)destination).setRadius( ((RectangleReportElement)source).getRadius()); } } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?