@Override public Graphics2D prepare(Component component, Graphics2D graphics) { graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); FontRenderContext fontRenderContext = Platform.getFontRenderContext(); graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, fontRenderContext.getAntiAliasingHint()); graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, fontRenderContext.getFractionalMetricsHint()); int tx = getTranslatedX(component); int ty = getTranslatedY(component); if (tx != 0 || ty != 0) { graphics.translate(tx, ty); } // TODO revisit. This is a workaround for Sun bug #6513150, which // fails if we apply a zero scale on the graphics (should be legal). graphics.scale(Math.max(scaleX, Float.MIN_NORMAL), Math.max(scaleY, Float.MIN_NORMAL)); return graphics; }
@Override public Graphics2D prepare(Component component, Graphics2D graphics) { graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); FontRenderContext fontRenderContext = Platform.getFontRenderContext(); graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, fontRenderContext.getAntiAliasingHint()); graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, fontRenderContext.getFractionalMetricsHint()); int tx = getTranslatedX(component); int ty = getTranslatedY(component); if (tx != 0 || ty != 0) { graphics.translate(tx, ty); } // TODO revisit. This is a workaround for Sun bug #6513150, which // fails if we apply a zero scale on the graphics (should be legal). graphics.scale(Math.max(scaleX, Float.MIN_NORMAL), Math.max(scaleY, Float.MIN_NORMAL)); return graphics; }
@Override public void paint(Graphics2D graphics) { Separator separator = (Separator)getComponent(); int width = getWidth(); int separatorY = padding.top; String heading = separator.getHeading(); if (heading != null && heading.length() > 0) { FontRenderContext fontRenderContext = Platform.getFontRenderContext(); LineMetrics lm = font.getLineMetrics(heading, fontRenderContext); graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, fontRenderContext.getAntiAliasingHint()); graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, fontRenderContext.getFractionalMetricsHint()); graphics.setFont(font); graphics.setPaint(headingColor); graphics.drawString(heading, padding.left, lm.getAscent() + padding.top); Rectangle2D headingBounds = font.getStringBounds(heading, fontRenderContext); Area titleClip = new Area(graphics.getClip()); titleClip.subtract(new Area(new Rectangle2D.Double(padding.left, padding.top, headingBounds.getWidth() + padding.right, headingBounds.getHeight()))); graphics.clip(titleClip); separatorY += (lm.getAscent() + lm.getDescent()) / 2 + 1; } graphics.setStroke(new BasicStroke(thickness)); graphics.setColor(color); graphics.drawLine(0, separatorY, width, separatorY); }
@Override public void paint(Graphics2D graphics) { Separator separator = (Separator)getComponent(); int width = getWidth(); int separatorY = padding.top; String heading = separator.getHeading(); if (heading != null && heading.length() > 0) { FontRenderContext fontRenderContext = Platform.getFontRenderContext(); LineMetrics lm = font.getLineMetrics(heading, fontRenderContext); graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, fontRenderContext.getAntiAliasingHint()); graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, fontRenderContext.getFractionalMetricsHint()); graphics.setFont(font); graphics.setPaint(headingColor); graphics.drawString(heading, padding.left, lm.getAscent() + padding.top); Rectangle2D headingBounds = font.getStringBounds(heading, fontRenderContext); Area titleClip = new Area(graphics.getClip()); titleClip.subtract(new Area(new Rectangle2D.Double(padding.left, padding.top, headingBounds.getWidth() + padding.right, headingBounds.getHeight()))); graphics.clip(titleClip); separatorY += (lm.getAscent() + lm.getDescent()) / 2 + 1; } graphics.setStroke(new BasicStroke(thickness)); graphics.setColor(color); graphics.drawLine(0, separatorY, width, separatorY); }
FontRenderContext fontRenderContext = Platform.getFontRenderContext(); graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, fontRenderContext.getAntiAliasingHint()); graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, fontRenderContext.getFractionalMetricsHint());
FontRenderContext fontRenderContext = Platform.getFontRenderContext(); graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, fontRenderContext.getAntiAliasingHint()); graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, fontRenderContext.getFractionalMetricsHint());
Object swingHint = fm.getFontRenderContext().getAntiAliasingHint(); System.out.println("Swing AntiAliasingHint: " + swingHint);