public Object clone() { JRDesignTextElement clone = (JRDesignTextElement) super.clone(); clone.lineBox = (JRLineBox) lineBox.clone(clone); return clone; }
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; } } } } } }
public JRDesignElementWidget(AbstractReportObjectScene scene, JRDesignElement element) { super(scene); this.element = element; setBorder(new SimpleLineBorder(this)); updateBounds(); try { if (crosstabImage == null) crosstabImage = new javax.swing.ImageIcon( getClass() .getResource("/com/jaspersoft/ireport/designer/resources/crosstab-32.png")); if (subreportImage == null) subreportImage = new javax.swing.ImageIcon( getClass() .getResource("/com/jaspersoft/ireport/designer/resources/subreport-32.png")); if (multiaxisImage == null) multiaxisImage = new javax.swing.ImageIcon( getClass() .getResource("/com/jaspersoft/ireport/designer/resources/chartaxis-32.png")); if (genericElementImage == null) genericElementImage = new javax.swing.ImageIcon( getClass() .getResource( "/com/jaspersoft/ireport/designer/resources/genericelement-48.png")); } catch (Exception ex) { } selectionWidget = new SelectionWidget(scene, this); notifyStateChanged(null, ObjectState.createNormal()); selectionWidget.addDependency( new Dependency() { public void revalidateDependency() { // setPreferredLocation(selectionWidget.getPreferredLocation() ); // setPreferredBounds(selectionWidget.getPreferredBounds()); // System.out.println("Revaludated"); } }); element.getEventSupport().addPropertyChangeListener(this); if (element instanceof JRDesignGraphicElement) { JRDesignGraphicElement gele = (JRDesignGraphicElement) element; ((JRBasePen) gele.getLinePen()).getEventSupport().addPropertyChangeListener(this); } if (element instanceof JRBoxContainer) { JRBoxContainer boxcontainer = (JRBoxContainer) element; JRBaseLineBox baseBox = (JRBaseLineBox) boxcontainer.getLineBox(); baseBox.getEventSupport().addPropertyChangeListener(this); ((JRBasePen) baseBox.getPen()).getEventSupport().addPropertyChangeListener(this); ((JRBasePen) baseBox.getTopPen()).getEventSupport().addPropertyChangeListener(this); ((JRBasePen) baseBox.getBottomPen()).getEventSupport().addPropertyChangeListener(this); ((JRBasePen) baseBox.getLeftPen()).getEventSupport().addPropertyChangeListener(this); ((JRBasePen) baseBox.getRightPen()).getEventSupport().addPropertyChangeListener(this); } if (element instanceof JRDesignTextElement) { ((JRBaseParagraph) ((JRDesignTextElement) element).getParagraph()) .getEventSupport() .addPropertyChangeListener(this); } }