Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么小程序不以我设置的字体生成输出?_Java_Fonts_Applet - Fatal编程技术网

Java 为什么小程序不以我设置的字体生成输出?

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,其中我将字体属性分配给了applet类中的font类对象f。在paint()方法中,我使用setFont()方法将当前图形对象的字体属性设置为'f'的字体属性。但是drawString()方法似乎显示为默认字体(可能是Arial),而不是我设置的字体(尽管字体大小、字体样式和颜色是我设置的)。根据我的书,这应该是有效的,但事实并非如此。请找出我代码中的缺陷。谢谢

/*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代替了它,我确保它在我的系统中并且工作正常。谢谢你帮我解决这个问题。