Path: csiph.com!usenet.pasdenom.info!gegeweb.org!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Jeff Higgins Newsgroups: comp.lang.java.programmer Subject: Re: Draw bolder(ly)? Date: Tue, 31 Mar 2015 10:31:24 -0400 Organization: A noiseless patient Spider Lines: 77 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 31 Mar 2015 14:32:03 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="c50a9e5d554cfaba13eda1c71e805135"; logging-data="24374"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18goSSzH8okqjmmwmcx3TqYBSwNf2AX5jc=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.5.0 In-Reply-To: Cancel-Lock: sha1:wL+N5ukdR2xVgM4zhPRrC/l3hBw= Xref: csiph.com comp.lang.java.programmer:31425 On 03/31/2015 09:35 AM, Jeff Higgins wrote: package scratch; update package scratch; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.Shape; import java.awt.font.GlyphVector; import javax.swing.JFrame; import javax.swing.JPanel; public class Scratch extends JPanel { private static final long serialVersionUID = 1L; private static final int h = 100, w = 360; private static final String text = "JAVA"; public void paintComponent(Graphics g1) { super.paintComponent(g1); Graphics2D g = (Graphics2D)g1.create(); g.setPaint(new Color(255, 255, 255)); g.fillRect(0, 0, w, h); RenderingHints rh = new RenderingHints( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); rh.put( RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); rh.put( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); g.setRenderingHints(rh); Font font = new Font(Font.SANS_SERIF, Font.BOLD, 24); GlyphVector gv = font.createGlyphVector(g.getFontRenderContext(), text); Shape vector = gv.getOutline(); g.setStroke(new BasicStroke(2.0f)); g.setPaint(new Color(0, 0, 0)); g.setFont(font); g.drawString(text, 10, 30); g.translate(90, 30); g.fill(vector); g.translate(80, 0); g.fill(vector); g.draw(vector); g.translate(80, 0); g.drawString(text, 0, 0); g.drawString(text, -1, 0); g.drawString(text, 1, 0); g.drawString(text, 0, -1); g.drawString(text, 0, 1); } public static void main(String[] a) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(new Scratch()); f.setSize(w, h); f.setVisible(true); } }); } }