gpt4 book ai didi

java - 如何在java中的JFrame中显示自定义字体文本?

转载 作者:行者123 更新时间:2023-12-02 04:05:19 25 4
gpt4 key购买 nike

我一直在尝试在 JFrame 上显示带有自定义字体的短语,但最终只得到没有字体的文本。当我编译以下代码时:

import java.awt.*;
import javax.swing.*;
import java.awt.image.*;
import java.awt.Font.*;

public class JavaPractice{
public static void main(String[]args){
JFrame frame = new JFrame("Java Practice!");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(label);
frame.pack();
frame.getContentPane().setBackground(Color.decode("#101010"));
frame.setSize(720,480);
frame.setResizable(false);
frame.setVisible(true);
JLabel label = new JLabel("Press Enter To Continue");
Font font = Font.createFont(Font.TRUETYPE_FONT, getClass().getResourceAsStream("PixelFont.ttf"));
label.setFont(font.deriveFont(Font.BOLD, 12f));
}
}

我从编译器得到反馈说 getClass() 不是非静态方法,不能从静态上下文中引用。

它还说找不到符号frame.add(label);

请具体回答,因为我在 Java 方面并不那么先进。

最佳答案

我已经根据我们在评论中指出的内容更改了您的代码。您的字体文件位于哪里?

import java.awt.*;
import javax.swing.*;
import java.awt.image.*;
import java.awt.Font.*;

public class JavaPractice{
public static void main(String[]args){
JFrame frame = new JFrame("Java Practice!");
JLabel label = new JLabel("Press Enter To Continue");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(label);
frame.pack();
frame.getContentPane().setBackground(Color.decode("#101010"));
frame.setSize(720,480);
frame.setResizable(false);
frame.setVisible(true);
try{
Font font = Font.createFont(Font.TRUETYPE_FONT, JavaPractice.class.getResourceAsStream("PixelFont.ttf"));
label.setFont(font.deriveFont(Font.BOLD, 12f));
}
catch(Exception e){}
}
}

目前的结果是: Output

关于java - 如何在java中的JFrame中显示自定义字体文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34347737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com