List of usage examples for java.awt Graphics2D setStroke
public abstract void setStroke(Stroke s);
From source file:Main.java
@Override public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) { Graphics2D g2 = (Graphics2D) g; int bottomLineY = height - thickness - shadowPad; RoundRectangle2D.Double bubble = new RoundRectangle2D.Double(0 + strokePad, 0 + strokePad, width - thickness - shadowPad, bottomLineY, radius, radius); Area area = new Area(bubble); g2.setRenderingHints(hints);/*from w w w . j a v a2 s . c o m*/ g2.setColor(color); g2.setStroke(stroke); g2.draw(area); Area shadowArea = new Area(new Rectangle(0, 0, width, height)); shadowArea.subtract(area); g.setClip(shadowArea); Color shadow = new Color(color.getRed(), color.getGreen(), color.getBlue(), 128); g2.setColor(shadow); g2.translate(shadowPad, shadowPad); g2.draw(area); }
From source file:edu.umd.cfar.lamp.chronicle.ChronicleRuler.java
private void drawLine(int x1, int y1, int x2, int y2, Paint p, Stroke stroke, PPaintContext paintContext) { Graphics2D g2 = paintContext.getGraphics(); Paint old = g2.getPaint();//from w ww . ja va 2 s .com Stroke oldS = g2.getStroke(); g2.setPaint(p); g2.setStroke(stroke); g2.drawLine(x1, y1, x2, y2); g2.setPaint(old); g2.setStroke(oldS); }
From source file:TextBouncer.java
protected void drawAxes(Graphics2D g2) { if (mAxes == false) return;/*w w w . j av a 2 s . c o m*/ g2.setPaint(getForeground()); g2.setStroke(new BasicStroke()); Dimension d = getSize(); int side = 20; int arrow = 4; int w = d.width / 2, h = d.height / 2; g2.drawLine(w - side, h, w + side, h); g2.drawLine(w + side - arrow, h - arrow, w + side, h); g2.drawLine(w, h - side, w, h + side); g2.drawLine(w + arrow, h + side - arrow, w, h + side); }
From source file:org.squidy.designer.zoom.impl.DataTypeShape.java
/** * Draws an empty data type filter. This will be drawn if all data types are unselected. * //from www.j a v a 2 s . c o m * @param g The graphics device to draw on. */ void drawNoDataType(Graphics2D g) { g.setStroke(STROKE_ARROW_THIN); g.setColor(Color.BLACK); g.draw(arrowShape); }
From source file:com.bdb.weather.display.day.ItemRenderer.java
/** * Plots the data for a given series./*from w ww .j a va2 s . c om*/ * * @param g2 the drawing surface. * @param dataArea the data area. * @param info collects plot rendering info. * @param plot the plot. * @param dataset the dataset. * @param seriesIndex the series index. */ @Override public void drawSeries(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info, PolarPlot plot, XYDataset dataset, int seriesIndex) { Shape point = new Rectangle2D.Double(-2, -2, 4, 4); int numPoints = dataset.getItemCount(seriesIndex); g2.setPaint(lookupSeriesPaint(seriesIndex)); g2.setStroke(lookupSeriesStroke(seriesIndex)); for (int i = 0; i < numPoints; i++) { double theta = dataset.getXValue(seriesIndex, i); double radius = dataset.getYValue(seriesIndex, i); Point p = plot.translateToJava2D(theta, radius, plot.getAxis(), dataArea); Shape shape = ShapeUtilities.createTranslatedShape(point, p.getX(), p.getY()); g2.fill(shape); } }
From source file:org.squidy.designer.zoom.impl.PortShape.java
/** * @param paintContext/*from www . jav a 2 s .c o m*/ */ private void paintCreatingEdge(PPaintContext paintContext) { // Get graphics to paint creating edge. Graphics2D g2d = paintContext.getGraphics(); Stroke defaultStroke = g2d.getStroke(); g2d.setColor(Color.GRAY); g2d.setStroke(STROKE_CREATING_EDGE); pointStart.setLocation(startX, startY); pointCurrent.setLocation(currentX, currentY); globalToLocal(pointStart); globalToLocal(pointCurrent); double x1 = pointStart.getX(); double y1 = pointStart.getY(); double x2 = pointCurrent.getX(); double y2 = pointCurrent.getY(); /* double width = Math.abs(x1 - x2); double height = Math.abs(y1 - y2); int division = 2; double middleLeftX = x1 + (width / division); double middleLeftY = y1 + (height / division); double middleRightX = x2 - (width / division); double middleRightY = y2 - (height / division); curve.setCurve(x1, y1, middleLeftX, middleLeftY, middleRightX, middleRightY, x2, y2); */ // double width = Math.abs(x1 - x2); // curve.setCurve(x1, y1, x1 + (width / 2), y1, x2 - (width / 2), y2, x2, y2); // g2d.draw(curve); g2d.drawLine((int) x1, (int) y1, (int) x2, (int) y2); g2d.setStroke(defaultStroke); }
From source file:SimpleAttributes.java
public void paintComponent(Graphics g) { Graphics2D g2d = (Graphics2D) g.create(); g2d.setBackground(Color.GRAY); g2d.clearRect(0, 0, getWidth(), getHeight()); // String and line with default attributes g2d.drawString("Default Font", 10, 20); g2d.drawLine(10, 22, 80, 22);/*from www . j av a2s .com*/ // Change the font, foreground color, and Stroke g2d.setFont(g.getFont().deriveFont(Font.BOLD | Font.ITALIC, 24f)); g2d.setColor(Color.WHITE); g2d.setStroke(new BasicStroke(10f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)); // String and line with new attributes g2d.drawString("New Font", 10, 50); g2d.drawLine(10, 57, 120, 57); g2d.dispose(); }
From source file:edu.ucla.stat.SOCR.chart.gui.CircleDrawer.java
/** * Draws the circle.// w ww . j a v a 2 s. co m * * @param g2 the graphics device. * @param area the area in which to draw. */ public void draw(Graphics2D g2, Rectangle2D area) { Ellipse2D ellipse = new Ellipse2D.Double(area.getX(), area.getY(), area.getWidth(), area.getHeight()); if (this.fillPaint != null) { g2.setPaint(this.fillPaint); g2.fill(ellipse); } if (this.outlinePaint != null && this.outlineStroke != null) { g2.setPaint(this.outlinePaint); g2.setStroke(this.outlineStroke); g2.draw(ellipse); } g2.setPaint(Color.black); g2.setStroke(new BasicStroke(1.0f)); Line2D line1 = new Line2D.Double(area.getCenterX(), area.getMinY(), area.getCenterX(), area.getMaxY()); Line2D line2 = new Line2D.Double(area.getMinX(), area.getCenterY(), area.getMaxX(), area.getCenterY()); g2.draw(line1); g2.draw(line2); }
From source file:uk.co.modularaudio.service.gui.impl.racktable.back.AbstractLinkImage.java
private void drawLinkWireIntoImage(final Point sourcePoint, final Point sinkPoint) { // log.debug("Drawing link from " + sourcePoint + " to " + sinkPoint); final int fromX = sourcePoint.x; final int fromY = sourcePoint.y; final int toX = sinkPoint.x; final int toY = sinkPoint.y; float f1, f2, f3, f4, f5, f6, f7, f8 = 0.0f; f1 = fromX;/* w ww . j a v a 2s . c om*/ f2 = fromY; f3 = fromX; f4 = fromY + WIRE_DIP_PIXELS; f5 = toX; f6 = toY + WIRE_DIP_PIXELS; f7 = toX; f8 = toY; final CubicCurve2D cubicCurve = new CubicCurve2D.Float(f1, f2, f3, f4, f5, f6, f7, f8); final Rectangle cubicCurveBounds = cubicCurve.getBounds(); final int imageWidthToUse = cubicCurveBounds.width + LINK_IMAGE_PADDING_FOR_WIRE_RADIUS; // int imageHeightToUse = cubicCurveBounds.height + WIRE_DIP_PIXELS; int imageHeightToUse = cubicCurveBounds.height; // If the wire is close to vertical (little Y difference) we make the image a little bigger to account for the wire "dip" if (Math.abs(sinkPoint.y - sourcePoint.y) <= WIRE_DIP_PIXELS) { imageHeightToUse += (WIRE_DIP_PIXELS / 2); } // bufferedImage = new BufferedImage( imageWidthToUse, imageHeightToUse, BufferedImage.TYPE_INT_ARGB ); try { tiledBufferedImage = bufferImageAllocationService.allocateBufferedImage(allocationSource, allocationMatchToUse, AllocationLifetime.SHORT, AllocationBufferType.TYPE_INT_ARGB, imageWidthToUse, imageHeightToUse); bufferedImage = tiledBufferedImage.getUnderlyingBufferedImage(); final Graphics2D g2d = bufferedImage.createGraphics(); g2d.setComposite(AlphaComposite.Clear); g2d.fillRect(0, 0, imageWidthToUse, imageHeightToUse); g2d.setComposite(AlphaComposite.SrcOver); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); f1 += LINK_IMAGE_DIST_TO_CENTER - cubicCurveBounds.x; f2 += LINK_IMAGE_DIST_TO_CENTER - cubicCurveBounds.y; f3 += LINK_IMAGE_DIST_TO_CENTER - cubicCurveBounds.x; f4 += LINK_IMAGE_DIST_TO_CENTER - cubicCurveBounds.y; f5 += LINK_IMAGE_DIST_TO_CENTER - cubicCurveBounds.x; f6 += LINK_IMAGE_DIST_TO_CENTER - cubicCurveBounds.y; f7 += LINK_IMAGE_DIST_TO_CENTER - cubicCurveBounds.x; f8 += LINK_IMAGE_DIST_TO_CENTER - cubicCurveBounds.y; final CubicCurve2D offSetCubicCurve = new CubicCurve2D.Float(f1, f2, f3, f4, f5, f6, f7, f8); // Draw the highlight and shadow if (DRAW_HIGHTLIGHT_AND_SHADOW) { final Graphics2D sG2d = (Graphics2D) g2d.create(); sG2d.translate(WIRE_SHADOW_X_OFFSET, WIRE_SHADOW_Y_OFFSET); sG2d.setColor(Color.BLUE.darker()); sG2d.setStroke(new BasicStroke(WIRE_SHADOW_WIDTH, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); sG2d.draw(offSetCubicCurve); final Graphics2D hG2d = (Graphics2D) g2d.create(); hG2d.translate(WIRE_HIGHLIGHT_X_OFFSET, WIRE_HIGHLIGHT_Y_OFFSET); hG2d.setColor(Color.WHITE); hG2d.setStroke( new BasicStroke(WIRE_HIGHLIGHT_WIDTH, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); hG2d.draw(offSetCubicCurve); } g2d.setColor(Color.BLACK); g2d.setStroke(wireStroke); g2d.draw(offSetCubicCurve); g2d.setColor(Color.BLUE); g2d.setStroke(wireBodyStroke); g2d.draw(offSetCubicCurve); // For debugging, draw a green line around the outside of this image. if (DRAW_WIRE_BOUNDING_BOX) { g2d.setStroke(basicStrokeOfOne); g2d.setColor(Color.GREEN); g2d.drawRect(0, 0, imageWidthToUse - 1, imageHeightToUse - 1); } rectangle.x = cubicCurveBounds.x - LINK_IMAGE_DIST_TO_CENTER; rectangle.y = cubicCurveBounds.y - LINK_IMAGE_DIST_TO_CENTER; rectangle.width = imageWidthToUse; rectangle.height = imageHeightToUse; } catch (final Exception e) { final String msg = "Exception caught allocating buffered image: " + e.toString(); log.error(msg, e); } }
From source file:dr.app.gui.chart.PDFPlot.java
/** * Paint actual plot// w w w .ja v a2 s . c o m */ @Override public void paintPlot(Graphics2D g2, double xScale, double yScale, double xOffset, double yOffset, int plotNumber, int plotCount) { if (distribution == null) { return; } super.paintPlot(g2, xScale, yScale, xOffset, yOffset, plotNumber, plotCount); g2.setPaint(linePaint); g2.setStroke(lineStroke); double x1 = xMin + offset; double y1 = distribution.pdf(x1 - offset); double step = (xMax - xMin) / stepCount; for (int i = 1; i < stepCount; i++) { double x2 = x1 + step; double y2 = distribution.pdf(x2 - offset); drawLine(g2, x1, y1, x2, y2); x1 = x2; y1 = y2; } }