要使用material 设计图标,我执行了以下操作:

1、从https://materialdesignicons.com/下载ttf字体

  @font-face {
    src: url('fonts/materialdesignicons-webfont.ttf');
  }
  .icon {
    -fx-font-size: 15px;
    -fx-font-family: 'Material Design Icons';
  }

这里https://pictogrammers.github.io/@mdi/font/6.5.95/我复制了第一个图标(???? 使用代码点F1960打开mdi帐户锁定),并将此图标粘贴到我的Java代码中:

enter image description here

在那之后,我在button中增加了icon个类,一切都很好-我有一个带图标的按钮.

唯一的问题是,在我的java代码中,我看不到我使用的图标-我有empty rectangles个.如果可能的话,我想使用代码点添加图标,例如这个示例代码点F1960.我试过了

private final Button button = new Button("\uF1960");

但它没有起作用.谁能告诉我怎么做?

推荐答案

Java字符是UTF-16个值.您不能直接在字符串中嵌入U+F1960,因为Unicode \u转义后面必须紧跟四个十六进制数字.

代码点值高于FFFF的字符称为补充字符.UTF-16使用surrogate pair,表示这样的字符,surrogate pair,是Unicode指令集保留部分中两个字符的序列.

您可以在字符串文字中表示U+F1960作为其代理项对:"\udb86\udd60"

另一种更容易记住的方法是String.format("%c", 0xF1960).底层java.util.格式化程序被记录为允许%c的整数参数,并且与字符不同,整数可以大于16位.

Java相关问答推荐

Hibernate 6支持Joda DateTime吗?

只需最少的代码更改即可将版本号标记添加到日志(log)

具有多种令牌类型和段的复杂Java 17正则表达式

在Spring终结点中,是否可以同时以大写和小写形式指定枚举常量?

使用Spring和ActiveMQ的侦听器方法引发属性名称不能重复为空警告

Mac上的全屏截图在使用JavaFX时不能正常工作吗?

使用UTC时区将startDatetime转换为本地时间

如何在JavaFX循环中完美地制作一个AudioClip/MediaPlayer?

如何在JavaFX中制作鼠标透明stage

Java.lang.invke.LambdaConversionException:实例方法InvokeVirtual的参数数量不正确

FETCH类型设置为LAZY,但它仍会发送第二个请求

Spring Validator批注不起作用

使IntelliJ在导入时优先 Select 一个类或将另一个标记为错误

RestTemplate Bean提供OkHttp3ClientHttpRequestFactory不支持Spring Boot 3中的请求正文缓冲

java.lang.NoSuchMethodError:';org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream$Builder org.apache.poi-poi-ooxml-5.2.4

由于可为null,无法在kotlin中实现java接口

关于正则表达式的一个特定问题,该问题与固定宽度负向后看有关

类型安全:从 JSONArray 到 ArrayList> 的未经判断的转换

为什么 Random() 的行为不符合预期?

仅允许使用 Spring Boot 3 从本地主机