当前位置: 首页>>代码示例>>Java>>正文


Java Graphics2D.create方法代码示例

本文整理汇总了Java中java.awt.Graphics2D.create方法的典型用法代码示例。如果您正苦于以下问题:Java Graphics2D.create方法的具体用法?Java Graphics2D.create怎么用?Java Graphics2D.create使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.awt.Graphics2D的用法示例。


在下文中一共展示了Graphics2D.create方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: paintHeader

import java.awt.Graphics2D; //导入方法依赖的package包/类
/**
 * Paints the header
 * 
 * @param g
 */
private void paintHeader(Graphics2D g, int x, int y, int width, int height) {
    Graphics2D g2d = (Graphics2D) g.create();
    g2d.setClip(new Rectangle(x, y, width, HEADER_HEIGHT));
    if (node.getParentNodeContainer().getSelection().contains(node)) {
        g2d.setColor(new Color(0x555555));
    } else {
        g2d.setColor(new Color(0x333333));
    }
    g2d.fillRect(x + 5, y + 5, width - 11, HEADER_HEIGHT - 5);
    if (node.getParentNodeContainer().getSelection().contains(node)) {
        g2d.setColor(new Color(0x1da6b0));
        g2d.fillRect(x + 5, y + HEADER_HEIGHT - 2, width - 11, 2);
    } else {
        g2d.setColor(new Color(0xa0a0a0));
        g2d.fillRect(x + 10, y + HEADER_HEIGHT - 2, width - 21, 2);
    }
    g2d.dispose();
}
 
开发者ID:VISNode,项目名称:VISNode,代码行数:24,代码来源:JNodeBorder.java

示例2: drawCenteredText

import java.awt.Graphics2D; //导入方法依赖的package包/类
/**
 * Draws text centered in the process.
 *
 * @param process
 *            the process in question
 * @param g2
 *            the graphics context
 * @param font
 * @param text
 * @param color
 * @param yOffset
 */
private void drawCenteredText(ExecutionUnit process, Graphics2D g2, Font font, String text, Color color, double yOffset) {
	double width = model.getProcessWidth(process);
	double height = model.getProcessHeight(process);

	Graphics2D g2d = (Graphics2D) g2.create();
	g2d.setFont(font);
	Rectangle2D bounds = g2d.getFontMetrics().getStringBounds(text, g2d);

	int x = (int) (width / 2 - bounds.getWidth() / 2);
	int y = (int) (height / 2 + bounds.getHeight() / 2 + yOffset);
	g2d.setColor(color);
	g2d.drawString(text, x, y);

	g2d.dispose();
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:28,代码来源:ProcessDrawer.java

示例3: drawAnnoDragIndicators

import java.awt.Graphics2D; //导入方法依赖的package包/类
/**
 * Draws the drag indicators for annotations.
 *
 * @param g
 *            the graphics context to draw upon
 * @param anno
 *            the current annotation to draw
 * @param loc
 *            the location of the annotation
 * @param printing
 *            if we are currently printing
 */
private void drawAnnoDragIndicators(final Graphics2D g, final WorkflowAnnotation anno, final Rectangle2D loc,
		final boolean printing) {
	if (printing) {
		// never draw them for printing
		return;
	}

	AnnotationDragHelper dragged = model.getDragged();
	if (dragged.getHoveredOperator() == null) {
		return;
	}
	Graphics2D g2 = (Graphics2D) g.create();

	int padding = 15;
	Rectangle2D opRect = rendererModel.getOperatorRect(dragged.getHoveredOperator());
	opRect = new Rectangle2D.Double(opRect.getX(), opRect.getY(), opRect.getWidth(), opRect.getHeight());
	Rectangle2D shadowRect = new Rectangle2D.Double(opRect.getX() - padding - 1, opRect.getY() - padding - 1,
			opRect.getWidth() + 2 * padding + 1, opRect.getHeight() + 2 * padding + 1);
	g2.setColor(DRAG_LINK_COLOR);

	g2.setStroke(DRAG_BORDER_STROKE);
	g2.draw(shadowRect);

	g2.dispose();
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:38,代码来源:AnnotationDrawer.java

示例4: printAnnotationFromEditor

import java.awt.Graphics2D; //导入方法依赖的package包/类
/**
 * Bypass the cache and the speedy image drawing and directly paint the JEditorPane to the
 * context. Required for printing in SVG format which would turn out pixelated if it were drawn
 * as an image.
 *
 * @param anno
 *            the annotation to draw
 * @param g2
 *            the graphics context to draw upon
 */
private void printAnnotationFromEditor(final WorkflowAnnotation anno, final Graphics2D g2) {
	Graphics2D gPr = (Graphics2D) g2.create();

	Rectangle2D loc = anno.getLocation();
	gPr.translate(loc.getX(), loc.getY());
	gPr.setClip(0, 0, (int) loc.getWidth(), (int) loc.getHeight());
	// paint each annotation with the same JEditorPane
	Dimension size = new Dimension((int) loc.getWidth(), (int) loc.getHeight());
	pane.setSize(size);
	pane.setText(AnnotationDrawUtils.createStyledCommentString(anno));
	pane.setCaretPosition(0);
	// draw annotation area to image and then to graphics
	// otherwise heavyweight JEdiorPane draws over everything and outside of panel
	// paint JEditorPane to context
	pane.paint(gPr);

	gPr.dispose();
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:29,代码来源:AnnotationDrawer.java

示例5: drawOpAnno

import java.awt.Graphics2D; //导入方法依赖的package包/类
/**
 * Draws the annotation for the given operator (if he has one).
 */
private void drawOpAnno(final Operator operator, final Graphics2D g2, final ProcessRendererModel rendererModel,
		final boolean printing) {
	WorkflowAnnotations annotations = rendererModel.getOperatorAnnotations(operator);
	if (annotations == null) {
		return;
	}
	for (WorkflowAnnotation anno : annotations.getAnnotationsDrawOrder()) {
		// selected is drawn by highlight decorator
		if (anno.equals(model.getSelected())) {
			continue;
		}

		// paint the annotation itself
		Graphics2D g2P = (Graphics2D) g2.create();
		drawer.drawAnnotation(anno, g2P, printing);
		g2P.dispose();
	}
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:22,代码来源:AnnotationsDecorator.java

示例6: drawOccupant

import java.awt.Graphics2D; //导入方法依赖的package包/类
/**
 * Draw one occupant object. First verify that the object is actually
 * visible before any drawing, set up the clip appropriately and use the
 * DisplayMap to determine which object to call upon to render this
 * particular Locatable. Note that we save and restore the graphics
 * transform to restore back to normalcy no matter what the renderer did to
 * to the coordinate system.
 *
 * @param g2    the Graphics2D object to use to render
 * @param xleft the leftmost pixel of the rectangle
 * @param ytop  the topmost pixel of the rectangle
 * @param obj   the Locatable object to draw
 */
private void drawOccupant(Graphics2D g2, int xleft, int ytop, Object obj) {
    Rectangle cellToDraw = new Rectangle(xleft, ytop, cellSize, cellSize);

    // Only draw if the object is visible within the current clipping
    // region.
    if (cellToDraw.intersects(g2.getClip().getBounds())) {
        Graphics2D g2copy = (Graphics2D) g2.create();
        g2copy.clip(cellToDraw);
        // Get the drawing object to display this occupant.
        Display displayObj = displayMap.findDisplayFor(obj.getClass());
        displayObj.draw(obj, this, g2copy, cellToDraw);
        g2copy.dispose();
    }
}
 
开发者ID:CBSkarmory,项目名称:AWGW,代码行数:28,代码来源:GridPanel.java

示例7: clear

import java.awt.Graphics2D; //导入方法依赖的package包/类
static void clear(Graphics2D  g, int type, int w, int h) {
    Graphics2D gg = (Graphics2D) g.create();
    if (type > OPAQUE) {
        gg.setColor(new Color(0, 0, 0, 0));
        gg.setComposite(AlphaComposite.Src);
    } else {
        gg.setColor(new Color(0xAD, 0xD8, 0xE6));
    }
    gg.fillRect(0, 0, w, h);
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:11,代码来源:NonOpaqueDestLCDAATest.java

示例8: drawOperatorBackgrounds

import java.awt.Graphics2D; //导入方法依赖的package包/类
/**
 * Draws operator backgrounds and then calls all registered {@link ProcessDrawDecorator}s for
 * the annotations render phase.
 *
 * @param process
 *            the process to draw the operator backgrounds for
 * @param g2
 *            the graphics context to draw upon
 * @param printing
 *            if {@code true} we are printing instead of drawing to the screen
 */
public void drawOperatorBackgrounds(final ExecutionUnit process, final Graphics2D g2, final boolean printing) {
	Graphics2D gBG = (Graphics2D) g2.create();
	// draw background of operators
	for (Operator op : process.getOperators()) {
		Rectangle2D frame = model.getOperatorRect(op);
		if (frame == null) {
			continue;
		}

		// only draw background if operator is visisble
		Rectangle2D opBounds = new Rectangle2D.Double(frame.getX() - 10, frame.getY(), frame.getWidth() + 20,
				frame.getHeight());
		if (g2.getClipBounds() != null && !g2.getClipBounds().intersects(opBounds)) {
			continue;
		}

		renderOperatorBackground(op, gBG);
	}

	// draw connections background for all operators
	for (Operator operator : process.getOperators()) {
		renderConnectionsBackground(operator.getInputPorts(), operator.getOutputPorts(), gBG);
	}

	// draw connections background for process
	renderConnectionsBackground(process.getInnerSinks(), process.getInnerSources(), gBG);
	gBG.dispose();

	// let decorators draw
	drawPhaseDecorators(process, g2, RenderPhase.OPERATOR_BACKGROUND, printing);
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:43,代码来源:ProcessDrawer.java

示例9: drawShadow

import java.awt.Graphics2D; //导入方法依赖的package包/类
/**
 * Draws a shadow around the given rectangle.
 *
 * @param rect
 *            the rectangle which should get a shadow
 * @param g2
 *            the graphics context to draw the shadow on
 */
public static void drawShadow(final Rectangle2D rect, final Graphics2D g2) {
	Graphics2D g2S = (Graphics2D) g2.create();

	Rectangle2D shadow = new Rectangle2D.Double(rect.getX() + 5, rect.getY() + ProcessDrawer.HEADER_HEIGHT + 5,
			rect.getWidth(), rect.getHeight() - ProcessDrawer.HEADER_HEIGHT);
	GeneralPath bottom = new GeneralPath();
	bottom.moveTo(shadow.getX(), rect.getMaxY());
	bottom.lineTo(rect.getMaxX(), rect.getMaxY());
	bottom.lineTo(shadow.getMaxX(), shadow.getMaxY());
	bottom.lineTo(shadow.getMinX(), shadow.getMaxY());
	bottom.closePath();
	g2S.setPaint(new GradientPaint((float) rect.getX(), (float) rect.getMaxY(), Color.gray, (float) rect.getX(),
			(float) shadow.getMaxY(), TRANSPARENT_GRAY));
	g2S.fill(bottom);

	GeneralPath right = new GeneralPath();
	right.moveTo(rect.getMaxX(), shadow.getMinY());
	right.lineTo(shadow.getMaxX(), shadow.getMinY());
	right.lineTo(shadow.getMaxX(), shadow.getMaxY());
	right.lineTo(rect.getMaxX(), rect.getMaxY());
	right.closePath();
	g2S.setPaint(new GradientPaint((float) rect.getMaxX(), (float) shadow.getY(), Color.gray, (float) shadow.getMaxX(),
			(float) shadow.getY(), TRANSPARENT_GRAY));
	g2S.fill(right);

	g2S.dispose();
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:36,代码来源:ProcessDrawUtils.java

示例10: overshadowRect

import java.awt.Graphics2D; //导入方法依赖的package包/类
/**
 * Shadows the given rectangle. Gives a disabled look to the given area.
 *
 * @param rect
 *            the area to draw the shadow over
 * @param g
 *            the context to draw upon
 */
private void overshadowRect(final Rectangle2D rect, final Graphics2D g) {
	Graphics2D g2 = (Graphics2D) g.create();

	g2.setColor(GRAY_OUT);
	g2.fill(rect);

	g2.dispose();
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:17,代码来源:AnnotationDrawer.java

示例11: drawOverflowIndicator

import java.awt.Graphics2D; //导入方法依赖的package包/类
/**
 * Draws indicator in case the annotation text overflows on the y axis.
 *
 * @param anno
 *            the annotation
 * @param g
 *            the graphics context to draw upon
 * @param loc
 *            the location of the annotation
 * @param printing
 *            if we are currently printing
 */
private void drawOverflowIndicator(final WorkflowAnnotation anno, final Graphics2D g, final Rectangle2D loc,
		final boolean printing) {
	if (printing) {
		// never draw them for printing
		return;
	}
	Graphics2D g2 = (Graphics2D) g.create();

	int size = 20;
	int xOffset = 10;
	int yOffset = 10;
	int stepSize = size / 4;
	int dotSize = 3;
	int x = (int) loc.getMaxX() - size - xOffset;
	int y = (int) loc.getMaxY() - size - yOffset;
	GradientPaint gp = new GradientPaint(x, y, Color.WHITE, x, y + size * 1.5f, Color.LIGHT_GRAY);
	g2.setPaint(gp);
	g2.fillRect(x, y, size, size);

	g2.setColor(Color.BLACK);
	g2.drawRect(x, y, size, size);

	g2.fillOval(x + stepSize, y + stepSize * 2, dotSize, dotSize);
	g2.fillOval(x + stepSize * 2, y + stepSize * 2, dotSize, dotSize);
	g2.fillOval(x + stepSize * 3, y + stepSize * 2, dotSize, dotSize);

	g2.dispose();
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:41,代码来源:AnnotationDrawer.java

示例12: fillBackground

import java.awt.Graphics2D; //导入方法依赖的package包/类
private void fillBackground(Graphics2D g) {
   Graphics2D g2 = (Graphics2D) g.create();
   Rectangle2D window = new Rectangle2D.Double(0, 0, sw, sh);
   g2.setComposite(AlphaComposite.Clear);
   g2.fill(window);
   g2.dispose();
}
 
开发者ID:eric-roberts,项目名称:JavaPPTX,代码行数:8,代码来源:PPWindowImage.java

示例13: drawCursor

import java.awt.Graphics2D; //导入方法依赖的package包/类
/** dessine un cursseur dont le centre en X est centerX, et le centre en Y est centerY */
public static void drawCursor(final Graphics2D g, final Color fillColor, final Color drawColor, final int centerX, final int centerY) {
    Graphics2D g2 = (Graphics2D) g.create();
    g2.setColor(fillColor);
    g2.fillRoundRect(centerX - CURSOR_W / 2, centerY - CURSOR_H / 2, CURSOR_W, CURSOR_H, ARC_SIZE, ARC_SIZE);

    g2.setColor(drawColor);
    g2.drawRoundRect(centerX - CURSOR_W / 2, centerY - CURSOR_H / 2, CURSOR_W, CURSOR_H, ARC_SIZE, ARC_SIZE);
    g2.dispose();
}
 
开发者ID:iapafoto,项目名称:DicomViewer,代码行数:11,代码来源:AbstractSliderComponent_1.java

示例14: drawPoints

import java.awt.Graphics2D; //导入方法依赖的package包/类
private void drawPoints(Graphics2D g, int pixWidth, int pixHeight) {
	double sx = 0.0d;
	double sy = 0.0d;
	sx = ((double) pixWidth - LABEL_MARGIN_X) / (maxX - minX);
	sy = ((double) pixHeight - LABEL_MARGIN_Y) / (maxY - minY);

	Graphics2D coordinateSpace = (Graphics2D) g.create();
	coordinateSpace.translate(LABEL_MARGIN_X, LABEL_MARGIN_Y);
	drawGrid(coordinateSpace, -minX, -minY, sx, sy);
	drawPoints(coordinateSpace, -minX, -minY, sx, sy);
	coordinateSpace.dispose();
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:13,代码来源:SimilarityKDistanceVisualization.java

示例15: calcFontMetrics

import java.awt.Graphics2D; //导入方法依赖的package包/类
private void calcFontMetrics( Graphics2D g2d, int w, int h ) {
    FontMetrics fm;
    Graphics2D g2 = (Graphics2D)g2d.create();

    /// ABP
    if ( g2Transform != NONE && textToUse != FILE_TEXT ) {
        g2.setFont( g2.getFont().deriveFont( getAffineTransform( g2Transform )) );
        fm = g2.getFontMetrics();
    }
    else {
        fm = g2.getFontMetrics();
    }

    maxAscent = fm.getMaxAscent();
    maxDescent = fm.getMaxDescent();
    if (maxAscent == 0) maxAscent = 10;
    if (maxDescent == 0) maxDescent = 5;
    if ( textToUse == RANGE_TEXT || textToUse == ALL_GLYPHS ) {
        /// Give slight extra room for each character
        maxAscent += 3;
        maxDescent += 3;
        gridWidth = fm.getMaxAdvance() + 6;
        gridHeight = maxAscent + maxDescent;
        if ( force16Cols )
          numCharAcross = 16;
        else
          numCharAcross = ( w - 10 ) / gridWidth;
        numCharDown = ( h - 10 ) / gridHeight;

        canvasInset_X = ( w - numCharAcross * gridWidth ) / 2;
        canvasInset_Y = ( h - numCharDown * gridHeight ) / 2;
        if ( numCharDown == 0 || numCharAcross == 0 )
          throw new CannotDrawException( isPrinting ? CANT_FIT_PRINT : CANT_FIT_DRAW );

        if ( !isPrinting )
          resetScrollbar( verticalBar.getValue() * numCharAcross );
    }
    else {
        maxDescent += fm.getLeading();
        canvasInset_X = 5;
        canvasInset_Y = 5;
        /// gridWidth and numCharAcross will not be used in this mode...
        gridHeight = maxAscent + maxDescent;
        numCharDown = ( h - canvasInset_Y * 2 ) / gridHeight;

        if ( numCharDown == 0 )
          throw new CannotDrawException( isPrinting ? CANT_FIT_PRINT : CANT_FIT_DRAW );
        /// If this is text loaded from file, prepares the LineBreak'ed
        /// text layout at this point
        if ( textToUse == FILE_TEXT ) {
            if ( !isPrinting )
              f2dt.fireChangeStatus( "LineBreaking Text... Please Wait", false );
            lineBreakTLs = new Vector();
            for ( int i = 0; i < fileText.length; i++ ) {
                AttributedString as =
                  new AttributedString( fileText[i], g2.getFont().getAttributes() );

                LineBreakMeasurer lbm =
                  new LineBreakMeasurer( as.getIterator(), g2.getFontRenderContext() );

                while ( lbm.getPosition() < fileText[i].length() )
                  lineBreakTLs.add( lbm.nextLayout( (float) w ));

            }
        }
        if ( !isPrinting )
          resetScrollbar( verticalBar.getValue() );
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:70,代码来源:FontPanel.java


注:本文中的java.awt.Graphics2D.create方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。