java - 如何在 Java SWING 中设置自定义字体的大小和其他属性(粗体、斜体等)

标签 java swing fonts custom-font

通常,当我初始化要在我的 SWING 应用程序中使用的字体时,我会这样做:

public static final Font TITLEFONT = new Font("Calibri", Font.BOLD, 40);

现在,我必须做一些不同的事情,因为我使用的是 .ttf 文件中的一些自定义字体。我这样初始化字体:

try
{
    InputStream is = OptionsValues.class.getResourceAsStream("fonts//KOMIKAX_.ttf");
    TITLEFONT = Font.createFont(Font.TRUETYPE_FONT, is);
}
catch (Exception ex)
{
    ex.printStackTrace();
    System.err.println("Font not loaded.  Using Calibri font.");
    TITLEFONT = new Font("Calibri", Font.BOLD, 40);
}

我很确定它正确地初始化了它(我不能确定,因为它太小了,我看不到),但我想知道如何手动设置字体的大小(如果它是粗体/其他属性)以这种方式加载字体时。

提前致谢!

最佳答案

createFont 返回一个 Font,您可以对此调用 deriveFont(...),为磅值传入一个 float ,或为 Font 传入一个 int 和 float样式和点大小。我不能说它是否适合您的特定情况,但值得一试。

例如,

InputStream is = OptionsValues.class.getResourceAsStream("fonts//KOMIKAX_.ttf");
TITLEFONT = Font.createFont(Font.TRUETYPE_FONT, is).deriveFont(Font.BOLD, 40f);

关于java - 如何在 Java SWING 中设置自定义字体的大小和其他属性(粗体、斜体等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155010/

相关文章:

java - 为什么我的图像没有添加到我的 JButton 中?

java - 如何使用交替来匹配正则表达式中的最长匹配项?

ios - 自定义UITableViewCell标签字体问题

java正则表达式去除javascript单行注释: "m" flag not working?

java - 更改 JComboBox 的外观

css - 如何将文本缩进正好一个字符宽度

HTML 和 CSS 自定义字体未出现在我的页面上

java - 了解 Java 8 Lambda 表达式

java - Dagger 2 和@Singleton 的使用

java - Cloudera:在HDFS异常中上传文件