Java——自定义外部字体文件

Posted 爽朗的sunmeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java——自定义外部字体文件相关的知识,希望对你有一定的参考价值。

package chapter1;

import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import java.io.InputStream;


public class FontDemo extends JPanel {
private static final long serialVersionUID = 1L;
public FontDemo(){
super();
}

public void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);

g2d.setPaint(Color.BLUE);
try {
g2d.setFont(loadFont());
} catch (IOException e) {
e.printStackTrace();
} catch (FontFormatException e) {
e.printStackTrace();
}
g2d.drawString("Font Demo",50,50);
g2d.dispose();
}
public Font loadFont() throws IOException, FontFormatException {

String fontfilename = "AMERSN.ttf";
InputStream is = this.getClass().getResourceAsStream(fontfilename);
Font actionJson = Font.createFont(Font.TRUETYPE_FONT,is);//返回一个指定字体类型和输入数据的font
Font actionJsonBase = actionJson.deriveFont(Font.BOLD,16);//通过复制此 Font 对象并应用新样式和大小,创建一个新 Font 对象。
return actionJsonBase;
}

public static void main(String args[]){
JFrame ui = new JFrame("Font Demo Graphics2D");
ui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ui.getContentPane().setLayout(new BorderLayout());
ui.getContentPane().add(new FontDemo(),BorderLayout.CENTER);
ui.setPreferredSize(new Dimension(380,380));//设置最好的大小,根据界面的调整大小跟着变化
ui.pack();
ui.setVisible(true);
}

}



































以上是关于Java——自定义外部字体文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xamarin Forms 中使用自定义字体(任何外部字体)作为嵌入资源?

如何在 .xml 文件而不是 .java 文件中设置自定义字体?

uniapp微信小程序使用自定义字体和外部字体

自定义字体和 XML 布局 (Android)

如何在 Java 中使用自定义字体?

如何从具有多个 TTF 文件的字体系列导入自定义 java.awt.Font? (包括一个例子)