在Java中更改字体时遇到问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Java中更改字体时遇到问题相关的知识,希望对你有一定的参考价值。
我想在我的applet中使用drawString方法放置自定义字体,问题是即使我正确执行它也不会更改字体。我仍然是学生,因此请为我的代码大声疾呼。请帮我更改字体。我发现Java允许在方法字体中使用某些字体,请帮帮我。
import javax.swing.*;
import java.awt.*;
public class WoodyWoodPeckerShow extends JApplet {
private Font font;
public void init(){
setFont(new Font("WoodPecker",Font.TRUETYPE_FONT,30));
}
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D)g;
g2.setFont(font);
g2.drawString("WoodyWoodPecker",10,200);
}
}
它给了我默认字体,而不是像这样enter image description here请帮我。感谢大伙们。希望你能帮助我:)
答案
WoodyWoodPeckerShow类中的实例变量font
为空,因为您仅设置了具有相同名称的超类变量的值。您可以完全删除实例变量,并在超类中使用它,如下所示:
import javax.swing.*;
import java.awt.*;
public class WoodyWoodPeckerShow extends JApplet {
@Override
public void init() {
setFont(new Font("WoodPecker", Font.TRUETYPE_FONT, 30));
}
@Override
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setFont(getFont());
g2.drawString("WoodyWoodPecker", 10, 200);
}
}
另一答案
您尚未为声明的font设置任何属性,这就是为什么字体具有默认大小和样式的原因。
g2.setFont(font);
您必须设置所有这些内容或将新字体声明为匿名类,例如:
g2.setFont(new Font("Some", Font.BOLD, 16));
以上是关于在Java中更改字体时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在不更改字体本身的情况下更改 uilabel 的字体大小?