org.jfree.text.G2TextMeasurer Java Examples

The following examples show how to use org.jfree.text.G2TextMeasurer. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Plot.java    From openstock with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Draws a message to state that there is no data to plot.
 *
 * @param g2  the graphics device.
 * @param area  the area within which the plot should be drawn.
 */
protected void drawNoDataMessage(Graphics2D g2, Rectangle2D area) {
    Shape savedClip = g2.getClip();
    g2.clip(area);
    String message = this.noDataMessage;
    if (message != null) {
        g2.setFont(this.noDataMessageFont);
        g2.setPaint(this.noDataMessagePaint);
        TextBlock block = TextUtilities.createTextBlock(
                this.noDataMessage, this.noDataMessageFont,
                this.noDataMessagePaint, 0.9f * (float) area.getWidth(),
                new G2TextMeasurer(g2));
        block.draw(g2, (float) area.getCenterX(),
                (float) area.getCenterY(), TextBlockAnchor.CENTER);
    }
    g2.setClip(savedClip);
}
 
Example #2
Source File: Plot.java    From ccu-historian with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Draws a message to state that there is no data to plot.
 *
 * @param g2  the graphics device.
 * @param area  the area within which the plot should be drawn.
 */
protected void drawNoDataMessage(Graphics2D g2, Rectangle2D area) {
    Shape savedClip = g2.getClip();
    g2.clip(area);
    String message = this.noDataMessage;
    if (message != null) {
        g2.setFont(this.noDataMessageFont);
        g2.setPaint(this.noDataMessagePaint);
        TextBlock block = TextUtilities.createTextBlock(
                this.noDataMessage, this.noDataMessageFont,
                this.noDataMessagePaint, 0.9f * (float) area.getWidth(),
                new G2TextMeasurer(g2));
        block.draw(g2, (float) area.getCenterX(),
                (float) area.getCenterY(), TextBlockAnchor.CENTER);
    }
    g2.setClip(savedClip);
}
 
Example #3
Source File: Plot.java    From buffer_bci with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Draws a message to state that there is no data to plot.
 *
 * @param g2  the graphics device.
 * @param area  the area within which the plot should be drawn.
 */
protected void drawNoDataMessage(Graphics2D g2, Rectangle2D area) {
    Shape savedClip = g2.getClip();
    g2.clip(area);
    String message = this.noDataMessage;
    if (message != null) {
        g2.setFont(this.noDataMessageFont);
        g2.setPaint(this.noDataMessagePaint);
        TextBlock block = TextUtilities.createTextBlock(
                this.noDataMessage, this.noDataMessageFont,
                this.noDataMessagePaint, 0.9f * (float) area.getWidth(),
                new G2TextMeasurer(g2));
        block.draw(g2, (float) area.getCenterX(),
                (float) area.getCenterY(), TextBlockAnchor.CENTER);
    }
    g2.setClip(savedClip);
}
 
Example #4
Source File: TextBlockPanel.java    From ccu-historian with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Paints the panel.
 *
 * @param g  the graphics device.
 */
public void paintComponent(final Graphics g) {

    super.paintComponent(g);
    final Graphics2D g2 = (Graphics2D) g;

    final Dimension size = getSize();
    final Insets insets = getInsets();
    final Rectangle2D available = new Rectangle2D.Double(insets.left, insets.top,
                                  size.getWidth() - insets.left - insets.right,
                                  size.getHeight() - insets.top - insets.bottom);

    final double x = available.getX();
    final double y = available.getY();
    final float width = (float) available.getWidth();
    final TextBlock block = TextUtilities.createTextBlock(
        this.text, this.font, Color.black, width, new G2TextMeasurer(g2)
    );
    g2.setPaint(Color.black);
    block.draw(g2, (float) x, (float) y, TextBlockAnchor.TOP_LEFT, 0.0f, 0.0f, 0.0);

}
 
Example #5
Source File: Plot.java    From SIMVA-SoS with Apache License 2.0 6 votes vote down vote up
/**
 * Draws a message to state that there is no data to plot.
 *
 * @param g2  the graphics device.
 * @param area  the area within which the plot should be drawn.
 */
protected void drawNoDataMessage(Graphics2D g2, Rectangle2D area) {
    Shape savedClip = g2.getClip();
    g2.clip(area);
    String message = this.noDataMessage;
    if (message != null) {
        g2.setFont(this.noDataMessageFont);
        g2.setPaint(this.noDataMessagePaint);
        TextBlock block = TextUtilities.createTextBlock(
                this.noDataMessage, this.noDataMessageFont,
                this.noDataMessagePaint, 0.9f * (float) area.getWidth(),
                new G2TextMeasurer(g2));
        block.draw(g2, (float) area.getCenterX(),
                (float) area.getCenterY(), TextBlockAnchor.CENTER);
    }
    g2.setClip(savedClip);
}
 
Example #6
Source File: Plot.java    From ECG-Viewer with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Draws a message to state that there is no data to plot.
 *
 * @param g2  the graphics device.
 * @param area  the area within which the plot should be drawn.
 */
protected void drawNoDataMessage(Graphics2D g2, Rectangle2D area) {
    Shape savedClip = g2.getClip();
    g2.clip(area);
    String message = this.noDataMessage;
    if (message != null) {
        g2.setFont(this.noDataMessageFont);
        g2.setPaint(this.noDataMessagePaint);
        TextBlock block = TextUtilities.createTextBlock(
                this.noDataMessage, this.noDataMessageFont,
                this.noDataMessagePaint, 0.9f * (float) area.getWidth(),
                new G2TextMeasurer(g2));
        block.draw(g2, (float) area.getCenterX(),
                (float) area.getCenterY(), TextBlockAnchor.CENTER);
    }
    g2.setClip(savedClip);
}
 
Example #7
Source File: Plot.java    From buffer_bci with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Draws a message to state that there is no data to plot.
 *
 * @param g2  the graphics device.
 * @param area  the area within which the plot should be drawn.
 */
protected void drawNoDataMessage(Graphics2D g2, Rectangle2D area) {
    Shape savedClip = g2.getClip();
    g2.clip(area);
    String message = this.noDataMessage;
    if (message != null) {
        g2.setFont(this.noDataMessageFont);
        g2.setPaint(this.noDataMessagePaint);
        TextBlock block = TextUtilities.createTextBlock(
                this.noDataMessage, this.noDataMessageFont,
                this.noDataMessagePaint, 0.9f * (float) area.getWidth(),
                new G2TextMeasurer(g2));
        block.draw(g2, (float) area.getCenterX(),
                (float) area.getCenterY(), TextBlockAnchor.CENTER);
    }
    g2.setClip(savedClip);
}
 
Example #8
Source File: Plot.java    From opensim-gui with Apache License 2.0 6 votes vote down vote up
/**
 * Draws a message to state that there is no data to plot.
 *
 * @param g2  the graphics device.
 * @param area  the area within which the plot should be drawn.
 */
protected void drawNoDataMessage(Graphics2D g2, Rectangle2D area) {
    Shape savedClip = g2.getClip();
    g2.clip(area);
    String message = this.noDataMessage;
    if (message != null) {
        g2.setFont(this.noDataMessageFont);
        g2.setPaint(this.noDataMessagePaint);
        TextBlock block = TextUtilities.createTextBlock(
                this.noDataMessage, this.noDataMessageFont, 
                this.noDataMessagePaint, 0.9f * (float) area.getWidth(), 
                new G2TextMeasurer(g2));
        block.draw(g2, (float) area.getCenterX(), (float) area.getCenterY(), 
                TextBlockAnchor.CENTER);
    }
    g2.setClip(savedClip);
}
 
Example #9
Source File: PiePlot.java    From opensim-gui with Apache License 2.0 5 votes vote down vote up
/**
 * Draws the left labels.
 * 
 * @param leftKeys  the keys.
 * @param g2  the graphics device.
 * @param plotArea  the plot area.
 * @param linkArea  the link area.
 * @param maxLabelWidth  the maximum label width.
 * @param state  the state.
 */
protected void drawLeftLabels(KeyedValues leftKeys, Graphics2D g2, 
                              Rectangle2D plotArea, Rectangle2D linkArea, 
                              float maxLabelWidth, PiePlotState state) {
    
    PieLabelDistributor distributor1 = new PieLabelDistributor(
        leftKeys.getItemCount()
    );
    double lGap = plotArea.getWidth() * this.labelGap;
    double verticalLinkRadius = state.getLinkArea().getHeight() / 2.0;
    for (int i = 0; i < leftKeys.getItemCount(); i++) {   
        String label = this.labelGenerator.generateSectionLabel(
                this.dataset, leftKeys.getKey(i));
        if (label != null) {
            TextBlock block = TextUtilities.createTextBlock(label, 
                    this.labelFont, this.labelPaint, maxLabelWidth, 
                    new G2TextMeasurer(g2));
            TextBox labelBox = new TextBox(block);
            labelBox.setBackgroundPaint(this.labelBackgroundPaint);
            labelBox.setOutlinePaint(this.labelOutlinePaint);
            labelBox.setOutlineStroke(this.labelOutlineStroke);
            labelBox.setShadowPaint(this.labelShadowPaint);
            double theta = Math.toRadians(
                    leftKeys.getValue(i).doubleValue());
            double baseY = state.getPieCenterY() - Math.sin(theta) 
                           * verticalLinkRadius;
            double hh = labelBox.getHeight(g2);

            distributor1.addPieLabelRecord(new PieLabelRecord(
                    leftKeys.getKey(i), theta, baseY, labelBox, hh,
                    lGap / 2.0 + lGap / 2.0 * -Math.cos(theta), 0.9 
                    + getExplodePercent(this.dataset.getIndex(
                            leftKeys.getKey(i)))));
        }
    }
    distributor1.distributeLabels(plotArea.getMinY(), plotArea.getHeight());
    for (int i = 0; i < distributor1.getItemCount(); i++) {
        drawLeftLabel(g2, state, distributor1.getPieLabelRecord(i));
    }
}
 
Example #10
Source File: PiePlot.java    From opensim-gui with Apache License 2.0 4 votes vote down vote up
/**
 * Draws the right labels.
 * 
 * @param keys  the keys.
 * @param g2  the graphics device.
 * @param plotArea  the plot area.
 * @param linkArea  the link area.
 * @param maxLabelWidth  the maximum label width.
 * @param state  the state.
 */
protected void drawRightLabels(KeyedValues keys, Graphics2D g2, 
                               Rectangle2D plotArea, Rectangle2D linkArea, 
                               float maxLabelWidth, PiePlotState state) {

    // draw the right labels...
    PieLabelDistributor distributor2 
        = new PieLabelDistributor(keys.getItemCount());
    double lGap = plotArea.getWidth() * this.labelGap;
    double verticalLinkRadius = state.getLinkArea().getHeight() / 2.0;

    for (int i = 0; i < keys.getItemCount(); i++) {
        String label = this.labelGenerator.generateSectionLabel(
                this.dataset, keys.getKey(i));

        if (label != null) {
            TextBlock block = TextUtilities.createTextBlock(label, 
                    this.labelFont, this.labelPaint, maxLabelWidth, 
                    new G2TextMeasurer(g2));
            TextBox labelBox = new TextBox(block);
            labelBox.setBackgroundPaint(this.labelBackgroundPaint);
            labelBox.setOutlinePaint(this.labelOutlinePaint);
            labelBox.setOutlineStroke(this.labelOutlineStroke);
            labelBox.setShadowPaint(this.labelShadowPaint);
            double theta = Math.toRadians(keys.getValue(i).doubleValue());
            double baseY = state.getPieCenterY() 
                          - Math.sin(theta) * verticalLinkRadius;
            double hh = labelBox.getHeight(g2);
            distributor2.addPieLabelRecord(new PieLabelRecord(
                    keys.getKey(i), theta, baseY, labelBox, hh,
                    lGap / 2.0 + lGap / 2.0 * Math.cos(theta), 
                    0.9 + getExplodePercent(this.dataset.getIndex(
                            keys.getKey(i)))));
        }
    }
    distributor2.distributeLabels(plotArea.getMinY(), plotArea.getHeight());
    for (int i = 0; i < distributor2.getItemCount(); i++) {
        drawRightLabel(g2, state, distributor2.getPieLabelRecord(i));
    }

}
 
Example #11
Source File: FormattedCategoryAxis.java    From pentaho-reporting with GNU Lesser General Public License v2.1 4 votes vote down vote up
protected TextBlock createLabel( final Comparable category, final float width,
                                 final RectangleEdge edge, final Graphics2D g2 ) {
  return TextUtilities.createTextBlock( format.format( new Object[] { category } ),
    getTickLabelFont( category ), getTickLabelPaint( category ), width,
    getMaximumCategoryLabelLines(), new G2TextMeasurer( g2 ) );
}
 
Example #12
Source File: FormattedCategoryAxis3D.java    From pentaho-reporting with GNU Lesser General Public License v2.1 4 votes vote down vote up
protected TextBlock createLabel( final Comparable category, final float width,
                                 final RectangleEdge edge, final Graphics2D g2 ) {
  return TextUtilities.createTextBlock( format.format( new Object[] { category } ),
    getTickLabelFont( category ), getTickLabelPaint( category ), width,
    getMaximumCategoryLabelLines(), new G2TextMeasurer( g2 ) );
}
 
Example #13
Source File: CategoryAxis.java    From buffer_bci with GNU General Public License v3.0 3 votes vote down vote up
/**
 * Creates a label.
 *
 * @param category  the category.
 * @param width  the available width.
 * @param edge  the edge on which the axis appears.
 * @param g2  the graphics device.
 *
 * @return A label.
 */
protected TextBlock createLabel(Comparable category, float width,
        RectangleEdge edge, Graphics2D g2) {
    TextBlock label = TextUtilities.createTextBlock(category.toString(),
            getTickLabelFont(category), getTickLabelPaint(category), width,
            this.maximumCategoryLabelLines, new G2TextMeasurer(g2));
    return label;
}
 
Example #14
Source File: CategoryAxis.java    From buffer_bci with GNU General Public License v3.0 3 votes vote down vote up
/**
 * Creates a label.
 *
 * @param category  the category.
 * @param width  the available width.
 * @param edge  the edge on which the axis appears.
 * @param g2  the graphics device.
 *
 * @return A label.
 */
protected TextBlock createLabel(Comparable category, float width,
        RectangleEdge edge, Graphics2D g2) {
    TextBlock label = TextUtilities.createTextBlock(category.toString(),
            getTickLabelFont(category), getTickLabelPaint(category), width,
            this.maximumCategoryLabelLines, new G2TextMeasurer(g2));
    return label;
}
 
Example #15
Source File: CategoryAxis.java    From opensim-gui with Apache License 2.0 3 votes vote down vote up
/**
 * Creates a label.
 *
 * @param category  the category.
 * @param width  the available width. 
 * @param edge  the edge on which the axis appears.
 * @param g2  the graphics device.
 *
 * @return A label.
 */
protected TextBlock createLabel(Comparable category, float width, 
                                RectangleEdge edge, Graphics2D g2) {
    TextBlock label = TextUtilities.createTextBlock(
        category.toString(), getTickLabelFont(category), 
        getTickLabelPaint(category), width, this.maximumCategoryLabelLines, 
        new G2TextMeasurer(g2));  
    return label; 
}
 
Example #16
Source File: CategoryAxis.java    From ECG-Viewer with GNU General Public License v2.0 3 votes vote down vote up
/**
 * Creates a label.
 *
 * @param category  the category.
 * @param width  the available width.
 * @param edge  the edge on which the axis appears.
 * @param g2  the graphics device.
 *
 * @return A label.
 */
protected TextBlock createLabel(Comparable category, float width,
        RectangleEdge edge, Graphics2D g2) {
    TextBlock label = TextUtilities.createTextBlock(category.toString(),
            getTickLabelFont(category), getTickLabelPaint(category), width,
            this.maximumCategoryLabelLines, new G2TextMeasurer(g2));
    return label;
}
 
Example #17
Source File: CategoryAxis.java    From SIMVA-SoS with Apache License 2.0 3 votes vote down vote up
/**
 * Creates a label.
 *
 * @param category  the category.
 * @param width  the available width.
 * @param edge  the edge on which the axis appears.
 * @param g2  the graphics device.
 *
 * @return A label.
 */
protected TextBlock createLabel(Comparable category, float width,
        RectangleEdge edge, Graphics2D g2) {
    TextBlock label = TextUtilities.createTextBlock(category.toString(),
            getTickLabelFont(category), getTickLabelPaint(category), width,
            this.maximumCategoryLabelLines, new G2TextMeasurer(g2));
    return label;
}
 
Example #18
Source File: CategoryAxis.java    From ccu-historian with GNU General Public License v3.0 3 votes vote down vote up
/**
 * Creates a label.
 *
 * @param category  the category.
 * @param width  the available width.
 * @param edge  the edge on which the axis appears.
 * @param g2  the graphics device.
 *
 * @return A label.
 */
protected TextBlock createLabel(Comparable category, float width,
        RectangleEdge edge, Graphics2D g2) {
    TextBlock label = TextUtilities.createTextBlock(category.toString(),
            getTickLabelFont(category), getTickLabelPaint(category), width,
            this.maximumCategoryLabelLines, new G2TextMeasurer(g2));
    return label;
}
 
Example #19
Source File: CategoryAxis.java    From openstock with GNU General Public License v3.0 3 votes vote down vote up
/**
 * Creates a label.
 *
 * @param category  the category.
 * @param width  the available width.
 * @param edge  the edge on which the axis appears.
 * @param g2  the graphics device.
 *
 * @return A label.
 */
protected TextBlock createLabel(Comparable category, float width,
        RectangleEdge edge, Graphics2D g2) {
    TextBlock label = TextUtilities.createTextBlock(category.toString(),
            getTickLabelFont(category), getTickLabelPaint(category), width,
            this.maximumCategoryLabelLines, new G2TextMeasurer(g2));
    return label;
}