Java 库 Graphics2D 不会将文本显示为正确的字体

我正在尝试使用 Java 的 Graphics2D 库获取要显示的正确字体。我不确定当前显示的是什么字体。我试图将字体作为程序的一部分,以便没有它的人可以使用该程序。Eclipse 并没有声称它找不到该文件,但字体仍然不正确。

我要使用的字体

老式字体

当前显示的内容

http://img1.mukewang.com/61824336000164c215990901.jpg

主类


import java.io.File;

import java.io.IOException;

import java.awt.Font;

import java.awt.FontFormatException;

import java.awt.Dimension;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.GraphicsEnvironment;

import javax.swing.JFrame;

import javax.swing.JPanel;


public class MainClass extends JPanel{


   static final int WINDOW_WIDTH = 1600;

   static final int WINDOW_HEIGHT = 900;



   // Displays the game window.

   private static void displayGameWindow() {

      JFrame frame = new JFrame("Bandit King");

      frame.getContentPane().add(new MainClass());

      frame.setSize(WINDOW_WIDTH, WINDOW_HEIGHT);

      frame.setVisible(true);

      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

   }



   // Imports a font.

   private static void registerFont() {

      try {

         GraphicsEnvironment ge = 

               GraphicsEnvironment.getLocalGraphicsEnvironment();

         Font f = Font.createFont(Font.TRUETYPE_FONT, new File("OLDSH.TTF"));

         ge.registerFont(f);


      } catch (IOException|FontFormatException e) {

         e.printStackTrace();

         System.out.println("ERROR loading font, switching to serif.");

         Font f = new Font("Serif", Font.PLAIN, 12);

      }

   }



   // Calls functions to display the screen

   @Override

   public void paint(Graphics g) {

      Dimension d = this.getPreferredSize();

      Graphics2D g2d = (Graphics2D) g;


      // default font settings

      String fontName = "OldStyle 1 HPLS";

      String fontType = "PLAIN";

      int[] color = {0, 0, 0};

      int fontSize = 25;


千巷猫影
浏览 524回答 1
1回答

LEATH

我拼错了字体的名称。在 registerFont 方法下,在 MainClass 类中,我输入..String fontName = "OldStyle 1 HPLS"当我应该打字的时候..String fontName = "OldStyle 1 HPLHS"注意附加的“H”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java