public JRPrintText getTextElementReplacement( JRExporterContext exporterContext, JRGenericPrintElement element ) { JRBasePrintText text = new JRBasePrintText(exporterContext.getExportedReport().getDefaultStyleProvider()); text.setX(element.getX()); text.setY(element.getY()); text.setWidth(element.getWidth()); text.setHeight(element.getHeight()); text.setText("[Open Flash Chart Component]"); text.setMode(ModeEnum.OPAQUE); text.setBackcolor(Color.lightGray); text.setHorizontalTextAlign(HorizontalTextAlignEnum.CENTER); text.setVerticalTextAlign(VerticalTextAlignEnum.MIDDLE); text.getLineBox().getPen().setLineWidth(1f); text.getLineBox().getPen().setLineColor(Color.black); text.getLineBox().getPen().setLineStyle(LineStyleEnum.DASHED); JRTextMeasurerUtil.getInstance(exporterContext.getJasperReportsContext()).measureTextElement(text); return text; }
@Override public JRPrintElement convert(ReportConverter reportConverter, JRElement element) { JRBasePrintText printText = new JRBasePrintText(reportConverter.getDefaultStyleProvider()); JRTextField textField = (JRTextField)element; copyTextElement(reportConverter, textField, printText); printText.setMarkup(JRCommonText.MARKUP_NONE);//text fields are never converted to styled print text elements printText.setAnchorName(JRExpressionUtil.getExpressionText(textField.getAnchorNameExpression())); printText.setBookmarkLevel(textField.getBookmarkLevel()); printText.setLinkType(textField.getLinkType()); printText.setPattern(textField.getOwnPattern()); printText.setText(JRExpressionUtil.getExpressionText(textField.getExpression())); JRTextMeasurerUtil.getInstance(reportConverter.getJasperReportsContext()).measureTextElement(printText); return printText; }
@Override public JRPrintElement convert(ReportConverter reportConverter, JRElement element) { JRBasePrintText printText = new JRBasePrintText(reportConverter.getDefaultStyleProvider()); JRStaticText staticText = (JRStaticText)element; copyTextElement(reportConverter, staticText, printText); printText.setText(staticText.getText()); JRTextMeasurerUtil.getInstance(reportConverter.getJasperReportsContext()).measureTextElement(printText); return printText; }
private void createTextMeasurer() { textMeasurer = JRTextMeasurerUtil.getInstance(filler.getJasperReportsContext()).createTextMeasurer(this); }
public void animatorFinished(AnimatorEvent arg0) { animations--; if (animations == 0) { for (Iterator iter = getNewSizes().keySet().iterator(); iter.hasNext(); ) { JRDesignElement element = (JRDesignElement)iter.next(); Rectangle rectangle = getNewSizes().get(element); element.setX( rectangle.x); element.setY( rectangle.y); element.setWidth( rectangle.width); element.setHeight( rectangle.height); // Calculate the best font height... if (element instanceof JRDesignTextElement) { JRStyledTextParser styledTextParser = JRStyledTextParser.getInstance(); JRDesignTextElement dte = (JRDesignTextElement)element; dte.setFontSize(null); for (int i=dte.getFontSize()-1; i>1 ; --i) { String text = "test"; // Convert the element in a print element... Map attributes = JRFontUtil.getAttributes(new HashMap(), dte, Locale.getDefault()); JRStyledText styledText = styledTextParser.getStyledText( attributes, text, JRCommonText.MARKUP_STYLED_TEXT.equals(dte.getMarkup()),//FIXMEMARKUP only static styled text appears on preview. no other markup Locale.getDefault() ); JRTextMeasurer measurer = JRTextMeasurerUtil.getInstance(DefaultJasperReportsContext.getInstance()).createTextMeasurer(dte); JRMeasuredText measuredText = measurer.measure( styledText, 0, dte.getHeight(), true); if (measuredText.getTextHeight() > dte.getHeight()) { if (i>1) { dte.setFontSize(i); } else { break; } } else { break; } } } } } }
public void animatorFinished(AnimatorEvent arg0) { animations--; if (animations == 0) { for (Iterator iter = getNewSizes().keySet().iterator(); iter.hasNext(); ) { JRDesignElement element = (JRDesignElement)iter.next(); Rectangle rectangle = getNewSizes().get(element); element.setX( rectangle.x); element.setY( rectangle.y); element.setWidth( rectangle.width); element.setHeight( rectangle.height); // Calculate the best font height... if (element instanceof JRDesignTextElement) { JRStyledTextParser styledTextParser = JRStyledTextParser.getInstance(); JRDesignTextElement dte = (JRDesignTextElement)element; dte.setFontSize(null); for (int i=dte.getFontSize()-1; i>1 ; --i) { String text = "test"; // Convert the element in a print element... Map<Attribute, Object> attributes = JRFontUtil.getAttributes(new HashMap(), dte, Locale.getDefault()); JRStyledText styledText = styledTextParser.getStyledText( attributes, text, JRCommonText.MARKUP_STYLED_TEXT.equals(dte.getMarkup()),//FIXMEMARKUP only static styled text appears on preview. no other markup Locale.getDefault() ); JasperReportsContext context = IRLocalJasperReportsContext.getInstance(); JRTextMeasurerUtil measurerUtil = JRTextMeasurerUtil.getInstance(context); JRTextMeasurer measurer = measurerUtil.createTextMeasurer(dte); JRMeasuredText measuredText = measurer.measure( styledText, 0, dte.getHeight(), true); if (measuredText.getTextHeight() > dte.getHeight()) { if (i>1) { dte.setFontSize(i); } else { break; } } else { break; } } } } } }