Java字体显示为单个点

时间:2013-12-05 04:52:29

标签: java swing fonts jlabel nimbus

首先,这是我的代码:

public static Font kingThing;

public static void main(String[] args) throws IOException {
    try {
        /** Substance look and feel */
        UIManager.setLookAndFeel(new NimbusLookAndFeel());
    } catch (UnsupportedLookAndFeelException ulafe) {
        Loader loader = new Loader();
        loader.doFrame();
    }
    Start Loader = new Start();
    Loader.setVisible(true);
    DirectBufferHelper.oggstream().connect();
}

public Start() throws IOException {
    /** The name of the frame */
    super("Client Launcher");
    try {

    getContentPane().setBackground(Color.BLACK);
    setBackground(Color.BLACK);

    /** Creates and adds the main configurations of the frame */
    BufferedImage image39 = ImageIO.read(getClass().getResourceAsStream("\\jaggl\\igs\\39.png"));

    this.setIconImage(image39);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(new Dimension(launcherWidth, launcherHeight));
    this.setLocationRelativeTo(null);
    this.setResizable(false);
    getContentPane().setLayout(null);
    paintAll();
    } catch (IOException e) {
        System.out.println(e);
    }
    try {
          InputStream in = getClass().getResourceAsStream("Kingthings Petrock.ttf");
          kingThing = Font.createFont(0, in);
        } catch (Throwable e) {
          e.printStackTrace();
        }
}

&安培;

/**
         * Loaders main page Username Display
         */
        loggedInAsDisplay = new JLabel(getloggedInAs());
        loggedInAsDisplay.setBounds(305, 68, 200, 20);
        loggedInAsDisplay.setForeground(Color.LIGHT_GRAY);
        loggedInAsDisplay.setFont(kingThing);
        getContentPane().add(loggedInAsDisplay);

现在,当我启动框架时,文本显示为一个点。用户名设置为玩家用户名。例如,我登录了我的测试帐户&我的主要帐户。 &安培;以下显示:

The dot is the "text"........?

如何让它显示实际文本而不仅仅是一个点。在我添加字体之前,它正确显示了文本。

1 个答案:

答案 0 :(得分:4)

你所创造的是一个点大小为1的字体,所以你必须得到一个更大的点大小的字体,而不是尝试:

kingThing = Font.createFont(Font.TRUETYPE_FONT, in).deriveFont(36f);

Here the actual docs that specify this, and the text:

  

<强>的createFont

     

使用指定的字体类型和输入数据返回一个新的Font。创建新字体时,点大小为1,样式为PLAIN。然后,可以将此基本字体与此类中的deriveFont方法一起使用,以派生具有不同大小,样式,变换和字体特征的新Font对象。 Ť