Java 为什么小程序不以我设置的字体生成输出?
我制作了一个applet,其中我将字体属性分配给了applet类中的font类对象f。在paint()方法中,我使用setFont()方法将当前图形对象的字体属性设置为'f'的字体属性。但是drawString()方法似乎显示为默认字体(可能是Arial),而不是我设置的字体(尽管字体大小、字体样式和颜色是我设置的)。根据我的书,这应该是有效的,但事实并非如此。请找出我代码中的缺陷。谢谢Java 为什么小程序不以我设置的字体生成输出?,java,fonts,applet,Java,Fonts,Applet,我制作了一个applet,其中我将字体属性分配给了applet类中的font类对象f。在paint()方法中,我使用setFont()方法将当前图形对象的字体属性设置为'f'的字体属性。但是drawString()方法似乎显示为默认字体(可能是Arial),而不是我设置的字体(尽管字体大小、字体样式和颜色是我设置的)。根据我的书,这应该是有效的,但事实并非如此。请找出我代码中的缺陷。谢谢 /*Applet to use set Font*/ import java.applet.*; impo
/*Applet to use set Font*/
import java.applet.*;
import java.awt.*;
public class UsingFont extends Applet {
Font f=new Font("Algerian",Font.BOLD,30);
@Override
public void init() {}
@Override
public void paint(Graphics g) {
g.setFont(f);
g.setColor(Color.orange);
g.drawString("ALGERIAN FONT",20,15);
}//paint
}//class
也许你的系统中不存在阿尔及利亚语,所以它会替换最接近的或默认的 尝试查看系统中可用的字体:
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] gf=ge.getAllFonts();
String[] gfn=ge.getAvailableFontFamilyNames();
是的,你是对的。阿尔及利亚语在我的系统中不存在。我用布拉德利手动ITC代替了它,我确保它在我的系统中并且工作正常。谢谢你帮我解决这个问题。