gpt4 book ai didi

java - Swing 创建字体

转载 作者:搜寻专家 更新时间:2023-10-31 20:22:48 35 4
gpt4 key购买 nike

我有一些自定义组件覆盖了 paintComponent(Graphics g) 方法。在某些组件中,使用了来自 Graphics g 对象的 drawString() 方法。我想为这样绘制的字符串定义自定义字体。

我有带有 True Type 字体定义的 *.ttf 文件。我有一个带有样式类的 css 文件,定义的字体如下:

.rosTexLogoTitle {
-fx-font: bold 20pt 'Tahoma Bold';
-fx-text-fill: #246db6;
-fx-font-weight: heavybold;
-fx-padding: 0 10 0 0

我想在我的 java 类中定义来自 css 的所有属性,或者也许有一种方法可以直接使用来自 css 文件的样式(不是必需的)。

我尝试使用带有 Map 参数的构造函数创建字体:

public Font(Map<? extends Attribute, ?> attributes) {
}

但是我没有成功。我可以使用 Font.createFont(style, path) 创建自定义字体,然后派生它来设置大小。颜色可以在 Graphics.setColor() 中设置。但我无法设置“Tahoma Bold”。

最佳答案

您不能设置字体粗细或系列;这些仅用于选择正确的 .ttf 文件。

因此解决方案是首先使用正确的 .ttf 文件。例如,字体系列 Arial 有四个文件:

arialbd.ttf - Weight "Bold"
arialbi.ttf - Weight "Bold", Slant "Italic"
ariali.ttf - Slant "Italic"
arial.ttf - Plain version

关于java - Swing 创建字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8323007/

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