Re: Draw bolder(ly)?
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);
}
});
}
}