如何在等宽模式下用 Java(使用 Graphics2d)绘制字符串?我有一个看起来像 LCD 屏幕字体的字体,我想画一些像 LCD 标签的东西。
我正在使用Digital 7 Mono字体。
你知道我在哪里可以找到另一种字体,它将是等宽字体和液晶显示器(我想只输入数字)?
如何在等宽模式下用 Java(使用 Graphics2d)绘制字符串?
呈现文本所需的基本方法是drawString()
,如下所述。本身没有“等宽模式” ,但即使是按比例间隔的字体通常也使用恒定宽度来表示数字字形。
private static final Font font = new Font("Monospaced", Font.PLAIN, 32);
private static final String s = "12:34";
...
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setFont(font);
int xx = this.getWidth();
int yy = this.getHeight();
int w2 = g.getFontMetrics().stringWidth(s) / 2;
int h2 = g.getFontMetrics().getDescent();
g.setColor(Color.green);
g.drawString(s, xx / 2 - w2, yy / 2 + h2);
}