设置自定义字体

     2023-03-15     123

关键词:

【中文标题】设置自定义字体【英文标题】:Setting custom font 【发布时间】:2012-11-22 22:32:41 【问题描述】:

我正在尝试在我的程序中将自定义字体 (bilboregular.ttf) 设置为 2 个 jLabels 但是字体没有被成功加载。

这里是主要的方法调用:

//this should work if the build is in a jar file, otherwise it'll try to load it directly from the file path (i'm running in netbeans)
if (!setFonts("resources/bilboregular.ttf")) 
        System.out.println("=================FAILED FIRST OPTION"); // <<<<<<<< This is being displayed
if(!setFonts(System.getProperty("user.dir")+"/src/resources/bilboregular.ttf"))
            System.out.println("=================FAILED SECOND OPTION"); // <<< This is not being displayed
        
    

这是另一种方法:

public boolean setFonts(String s) 
    try 
jLabel3.setFont(java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT, new java.io.File(s)));
jLabel4.setFont(java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT, new java.io.File(s)));
        return true;
     catch (Exception ex) 
        return false;
    

【问题讨论】:

***.com/questions/5652344/… 【参考方案1】:

首先获得URLFont。然后做这样的事情。

'Airacobra Condensed' 字体可从Download Free Fonts 获得。

import java.awt.*;
import javax.swing.*;
import java.net.URL;

class LoadFont 
    public static void main(String[] args) throws Exception 
        // This font is < 35Kb.
        URL fontUrl = new URL("http://www.webpagepublicity.com/" +
            "free-fonts/a/Airacobra%20Condensed.ttf");
        Font font = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream());
        GraphicsEnvironment ge = 
            GraphicsEnvironment.getLocalGraphicsEnvironment();
        ge.registerFont(font);
        JList fonts = new JList( ge.getAvailableFontFamilyNames() );
        JOptionPane.showMessageDialog(null, new JScrollPane(fonts));
    


好的,这很有趣,但是这个字体实际上是什么样子的?

import java.awt.*;
import javax.swing.*;
import java.net.URL;

class DisplayFont 
    public static void main(String[] args) throws Exception 
        URL fontUrl = new URL("http://www.webpagepublicity.com/" +
            "free-fonts/a/Airacobra%20Condensed.ttf");
        Font font = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream());
        font = font.deriveFont(Font.PLAIN,20);
        GraphicsEnvironment ge =
            GraphicsEnvironment.getLocalGraphicsEnvironment();
        ge.registerFont(font);

        JLabel l = new JLabel(
            "The quick brown fox jumped over the lazy dog. 0123456789");
        l.setFont(font);
        JOptionPane.showMessageDialog(null, l);
    

【讨论】:

【参考方案2】: 不要为每个JLabel单独加载新的Font

意思

public boolean setFonts(String s) 
    try 
jLabel3.setFont(java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT, new java.io.File(s)));
jLabel4.setFont(java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT, new java.io.File(s)));
        return true;
     catch (Exception ex) 
        return false;
    

创建Font(s) 为Local variable(s) 并仅更改jLabel3.setFont(myFont),或注册新字体(see link from @StanislavLs comment)

例如

InputStream myFont = OptionsValues.class.getResourceAsStream(
     "resources/bilboregular.ttf");

【讨论】:

无法找到选项值。 你的 ClassName == OptionsValues :-)

设置自定义字体以及文本颜色

】设置自定义字体以及文本颜色【英文标题】:Setcustomfontalongwithtextcolor【发布时间】:2015-02-2411:03:56【问题描述】:我已将导航控制器titleTextAttributes设置为使用自定义字体,为此我使用了以下代码[self.navigationController.navigationBar... 查看详情

python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体自定义设置图像标题使用的字体类型

python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体、自定义设置图像标题使用的字体类型目录 查看详情

android:无法设置自定义字体

】android:无法设置自定义字体【英文标题】:android:notabletosetcustomfont【发布时间】:2014-06-1616:47:57【问题描述】:我尝试在TextView中设置自定义字体。因此,我将otf文件复制到/src/main/assets/fonts中,并将以下部分添加到我在Activity... 查看详情

android将自定义字体设置为油漆

】android将自定义字体设置为油漆【英文标题】:androidsetcustomfonttoapaint【发布时间】:2011-08-2722:19:51【问题描述】:我想在颜料上画一段文字。如何使用自定义字体(exHelvetica)和粗体来绘制它?我更喜欢使用系统字体而不是从... 查看详情

为 UITableView 滑动操作设置自定义字体(UIContextualAction)

】为UITableView滑动操作设置自定义字体(UIContextualAction)【英文标题】:SetcustomfontforUITableViewswipeaction(UIContextualAction)【发布时间】:2019-06-1321:20:43【问题描述】:UIContextualAction中的标题如何设置自定义字体?我试过UIAppearance,但... 查看详情

如何为视图中的所有标签设置自定义字体? [复制]

】如何为视图中的所有标签设置自定义字体?[复制]【英文标题】:howsetcustomfontforwholealllabelsinaview?[duplicate]【发布时间】:2013-03-0802:34:33【问题描述】:我想为我的完整视图设置自定义字体我已经提到了以下内容HowdoIsetacustomfontf... 查看详情

java示例代码_以synth样式设置自定义字体

java示例代码_以synth样式设置自定义字体 查看详情

如何为 SFSafariViewController 中的控件设置自定义字体?

】如何为SFSafariViewController中的控件设置自定义字体?【英文标题】:HowtosetacustomfontforcontrolsinSFSafariViewController?【发布时间】:2019-02-1921:41:57【问题描述】:除了颜色之外,我还没有看到任何自定义SFSafariViewController的方法,所以... 查看详情

如何为 backBarButtonItem 设置自定义字体 [重复]

】如何为backBarButtonItem设置自定义字体[重复]【英文标题】:HowtosetcustomfontforbackBarButtonItem[duplicate]【发布时间】:2016-06-0209:35:44【问题描述】:当没有左栏项时,导航栏会给出一个backBarButtonItem,如&lt;Back。但我无论如何都找... 查看详情

如何以编程方式将字体自定义字体设置为 Spinner 文本?

】如何以编程方式将字体自定义字体设置为Spinner文本?【英文标题】:HowtosetfontcustomfonttoSpinnertextprogrammatically?【发布时间】:2011-07-2521:43:52【问题描述】:我的资产文件夹中有一个ttf字体文件。我知道如何将它用于文本视图:T... 查看详情

如何在 Xamarin 中使用 CSS 设置自定义字体系列

】如何在Xamarin中使用CSS设置自定义字体系列【英文标题】:HowtosetcustomfontfamilyusingCSSinXamarin【发布时间】:2018-09-1009:18:59【问题描述】:我正在尝试在Xamarin表单项目中使用CSS文件设置自定义字体系列。我将各自的字体放置在andro... 查看详情

Android - 如何为整个应用程序设置自定义字体[重复]

】Android-如何为整个应用程序设置自定义字体[重复]【英文标题】:Android-Howtosetacustomfontforwholeapp[duplicate]【发布时间】:2012-08-3004:36:29【问题描述】:可能重复:IsitpossibletosetfontforentireApplication?我需要为整个应用程序设置自定义... 查看详情

是否可以为整个应用程序设置自定义字体?

】是否可以为整个应用程序设置自定义字体?【英文标题】:Isitpossibletosetacustomfontforentireofapplication?【发布时间】:2011-02-1207:14:44【问题描述】:我需要为我的整个应用程序使用某种字体。我有相同的.ttf文件。是否可以在应用... 查看详情

无法以编程方式将自定义字体设置为 uibutton

】无法以编程方式将自定义字体设置为uibutton【英文标题】:can\'tsetcustomfonttouibuttonprogrammatically【发布时间】:2015-09-0312:43:50【问题描述】:我正在尝试以编程方式为uibutton使用ubuntu字体(按钮也是以编程方式创建的,它是自定... 查看详情

如何为 NavigationView 中的项目设置自定义字体?

】如何为NavigationView中的项目设置自定义字体?【英文标题】:HowtosetcustomtypefacetoitemsinNavigationView?【发布时间】:2015-08-2012:16:12【问题描述】:使用新的NavigationView,我们可以通过XML中的菜单资源设置抽屉的项目。这样,我们可... 查看详情

如何在android中为警报对话框设置自定义字体?

】如何在android中为警报对话框设置自定义字体?【英文标题】:Howtosetcustomfontforalertdialoginandroid?【发布时间】:2012-10-1415:43:03【问题描述】:在我的android应用程序中,单击按钮后会出现一个警告对话框。我想为警报设置自定义... 查看详情

java将自定义字体设置为所有textview(代码片段)

查看详情

自定义 TextView 字体不适用于从 java android 设置文本

】自定义TextView字体不适用于从javaandroid设置文本【英文标题】:CustomTextViewfontnotappliedonsettingtextfromjavaandroid【发布时间】:2015-07-2818:22:29【问题描述】:我创建了一个自定义TextView以使用FontAwesome支持,当您在布局xml中添加文本... 查看详情