gpt4 book ai didi

Java等宽绘制字符串

转载 作者:行者123 更新时间:2023-11-30 05:12:46 26 4
gpt4 key购买 nike

如何在 Java 中以等宽模式绘制字符串(使用 Graphics2d)?我有一个看起来像 LCD 屏幕字体的字体,我想画一些像 LCD 标签的东西。

我正在使用Digital 7 Mono字体。

你知道我在哪里可以找到另一种等宽和液晶字体(我只想输入数字)吗?

最佳答案

How can I draw a String in Java (using Graphics2d) in monospace mode?

渲染文本所需的基本方法是 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);
}

有一个完整的例子here ,并且您可以扩展合适的 JComponent 来使用布局管理器控制定位,如 here 所示。 .

关于Java等宽绘制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2793905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com