zoukankan      html  css  js  c++  java
  • 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);
    }

    }

  • 相关阅读:
    mysql 开发基础系列1 表查询操作
    sql server 索引阐述系列三 表的堆组织
    sql server 索引阐述系列二 索引存储结构
    sql server 索引阐述系列一索引概述
    PyCharm 安装 pip
    Python 简单分页思路
    mysql 5.7 线程阻塞处理
    Python 练习: 简单角色游戏程序
    Docker 修改存储路径
    使用普通用户执行 docker
  • 原文地址:https://www.cnblogs.com/bigdream6/p/8365934.html
Copyright © 2011-2022 走看看