我正在尝试使用 Java 的 Graphics2D 库获取要显示的正确字体。我不确定当前显示的是什么字体。我试图将字体作为程序的一部分,以便没有它的人可以使用该程序。Eclipse 并没有声称它找不到该文件,但字体仍然不正确。我要使用的字体老式字体当前显示的内容主类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;
1 回答
LEATH
TA贡献1936条经验 获得超6个赞
我拼错了字体的名称。在 registerFont 方法下,在 MainClass 类中,我输入..
String fontName = "OldStyle 1 HPLS"
当我应该打字的时候..
String fontName = "OldStyle 1 HPLHS"
注意附加的“H”。
添加回答
举报
0/150
提交
取消