@Override
public void simpleDraw(Graphics g, int x, int y) {
if (font == null) {
font = g.getFont().deriveFont(style, size);
}
g.setFont(font);
if (!border) {
g.setColor(color);
g.drawString(text, x, y);
} else {
FontRenderContext frc = new FontRenderContext(null, antiAliased, fractionalMetrics);
TextLayout layout = new TextLayout(text, font, frc);
Shape sha = layout.getOutline(AffineTransform.getTranslateInstance(x, y));
g.getGraphics().setStroke(new BasicStroke(borderWidth));
g.setColor(borderColor);
g.draw(sha);
g.setColor(color);
g.fill(sha);
g.getGraphics().setStroke(new BasicStroke(1));
}
}