当前位置: 首页 > 面试题库 >

对JLabel使用自定义字体

柳项明
2023-03-14
问题内容

我正在尝试在JFrame中使用特殊字体,但遇到了问题。我有一个这样定义的JLabel:

private JLabel lab = new JLabel("Text");

并且我有一个名为CUSTOMFONT-MEDIUM.TTF(TrueType字体)的文件,但是编写了以下内容:

    try {
    lab.setFont(Font.createFont(Font.TRUETYPE_FONT, getClass().getResource("/CUSTOMFONT-MEDIUM.TTF").openStream()));
    } catch(IOException ex){
    //exception handled here I suppose  
    } catch(FontFormatException ex2) {
    //same here
    }

代码会编译,并且一切正常,除了不会显示“ lab”,因此没有文本。我想这是因为我从未指定字体大小,但是我所做的任何尝试都失败了。有人可以帮我吗?


问题答案:

您创建的字体必须先在中注册,GraphicsEnvironment以供所有人访问并得出字体的大小:

Font font = Font.createFont(Font.TRUETYPE_FONT, getClass().getResource("/CUSTOMFONT-MEDIUM.TTF").openStream());

GraphicsEnvironment genv = GraphicsEnvironment.getLocalGraphicsEnvironment();
genv.registerFont(font);
// makesure to derive the size
font = font.deriveFont(12f);


 类似资料:
  • 我有一个JLabel,我已经设置了自定义字体,“BP饮食”到它。如果我将此添加到JFrame中,文本看起来很好,但是当我将JFrame的布局更改为FlowLayout时,文本的顶部就会被切断。当您将JLabel添加到JPanel并将其添加到JFrame时,也会出现同样的问题。我在http://www.hichris.com/more/files/bpdiet.otf上有这个字体 下面是代码: 感谢

  • 问题内容: 我看到一些新网站在其网站上使用自定义字体(常规Arial,Tahoma等除外)。 并且它们支持大量的浏览器。 怎么做到的?同时,如果可能的话,还会阻止人们自由下载字体。 问题答案: 通常,您可以在CSS中使用自定义字体。这是一个非常基本的示例: 然后,简单地在特定元素上使用字体: (是您的选择器)。 请注意,某些字体格式并非在所有浏览器上都有效;您可以使用fontsquirrel.co

  • 问题内容: 我有一个包含自定义对象的ArrayList的JList,我试图创建拖放到字段中。我无法理解如何在Transferable中打包和接收对象。 据我所知: 澄清:我在从JList中选择对象并从中创建一个Transferable时遇到麻烦。使用上面的代码,对象的toString表示形式只是粘贴在文本字段中,因此我无法从放置的位置提取对象数据。如何“打包”对象本身并将其放入可以从GUI引用对象

  • 所以,我有两个类,一个是和。observable有一个,该变量被更改,当它被更改时,事件将被激发,它的方法将该char变量作为参数传递。 一切工作都很好,char变量存在于观察者中,但JLabel似乎不会更新文本。我试过使用,但没有成功。还尝试在JLabel上使用,它出现了一小会,然后就消失了。 我想做的很简单: 我已经意识到这是JLabel的问题,所以我尝试在JLabel上使用,但仍然没有成功。

  • 我在修改我安装的WordPress流行帖子插件时遇到了一些问题。 它可以选择从自定义字段获取缩略图,我已将其输入为“image_facebook”。但是缩略图没有显示。 在检查代码时,我发现imgsrc有post id而不是返回图像URL。 我已经把问题缩小到我安装的另一个插件http://wordpress.org/plugins/advanced-custom-fields/ 当它处于活动状态

  • 问题内容: 我正在尝试在使用wkhtmltopdf生成的PDF中使用自定义字体。我读到您不能使用google webfonts,而wkhtmltopdf使用truetype .ttf文件。谁能确认?因此,我从Google webfont下载了一个.ttf文件,并将其放入服务器中,然后使用了字体: 和字体系列: 现在应该以Jolly Lodger字体呈现的文本根本没有出现,页面为空白。 我究竟做错了