barcodereportelement.java
来自「优秀的打印控件全源代码,类似水晶表的设计器!」· Java 代码 · 共 190 行
JAVA
190 行
/* * BarcodeReportElement.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 15. April 2004, 13:21 by Heiko Wenzel */package it.businesslogic.ireport;import java.awt.*;import it.businesslogic.ireport.util.*;import java.util.*;/** * * @author Administrator */public class BarcodeReportElement extends it.businesslogic.ireport.ImageReportElement { private String title = "Sample barcode"; private boolean legend = false; private boolean showText = false; private String text = "0815"; private int type = 13; private boolean checkSum = false; private String lastError = null; public BarcodeReportElement(int x, int y, int width, int height) { super(x, y, width, height); setGraphicElementPen("Thin"); setBarCodeImg(type, text, showText, checkSum); setImageClass("java.awt.Image"); setScaleImage("RetainShape"); setGraphicElementPen("None"); setHyperlinkType("None"); setAnchorNameExpression(""); setImgDef(null); setKey("barcode"); } public void setBarCodeImg(int type, String text, boolean showText, boolean checkSum){ StringBuffer bcCall = new StringBuffer("it.businesslogic.ireport.barcode.BcImage.getBarcodeImage("); boolean isFormula = text.trim().startsWith("$"); bcCall.append(type); if (isFormula) { bcCall.append(","); bcCall.append(text); bcCall.append(","); } else { bcCall.append(",\""); bcCall.append(text); bcCall.append("\","); } bcCall.append(showText); bcCall.append(","); bcCall.append(checkSum); bcCall.append(")"); super.setImageExpression(bcCall.toString()); try{ setImg(it.businesslogic.ireport.barcode.BcImage.getBarcodeImage(type, text, showText, checkSum)); lastError = null; }catch (RuntimeException e) { //reset image setImg(null); //save last error message lastError = e.getMessage(); } } public void setImageExpression(java.lang.String imageExpression) { super.setImageExpression(imageExpression); String iE = imageExpression.substring(imageExpression.indexOf("(") + 1, imageExpression.indexOf(")")); String[] params = iE.split(","); type = new Integer(params[0]).intValue(); if (params[1].startsWith("$")) text = params[1]; else text = params[1].substring(1, params[1].length() - 1); showText = new Boolean(params[2]).booleanValue(); checkSum = new Boolean(params[3]).booleanValue(); update(); } public void setShowText(boolean showText) { this.showText = showText; update(); } public boolean isShowText() { return this.showText; } public void update() { setBarCodeImg(type, text, showText, checkSum); boolean isFormula = text.trim().startsWith("$"); /* if (! isFormula) { this.width = it.businesslogic.ireport.barcode.BcImage.getBarcode().getMinimumSize().width; this.height = it.businesslogic.ireport.barcode.BcImage.getBarcode().getMinimumSize().height; } */ this.updateBounds(); } public ReportElement cloneMe() { BarcodeReportElement newReportElement = new BarcodeReportElement(position.x, position.y, width, height); copyBaseReportElement(newReportElement, this); return newReportElement; } public java.lang.String getTitle() { return title; } public void setTitle(java.lang.String title) { this.title = title; this.setImg(null); } public String getText() { return this.text; } public void setText(String text) { this.text = text; update(); } public int getType() { return this.type; } public void setType(int type) { this.type = type; } public boolean isCheckSum() { return this.checkSum; } public void setCheckSum(boolean checkSum) { this.checkSum = checkSum; update(); } /** * Last error message. * @return Returns null if ok. */ public String getLastError() { return lastError; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?