javafx HTMLEditor自定义字体

javafx HTMLEditor原有的字体选择有很多,选择的时候很难定位为常用的,所以需要自定义HTMLEditor的字体选择。

可以使用lookupAll查找到字体选择的ComboBox

java 复制代码
            int i = 0;
            limitedFonts = FXCollections.observableArrayList("SimSun", "SimHei");
            //.font-menu-button是字体选择ComboBox的样式,前面需要加上 .
            Set<Node> menuButton1 = customcontent.lookupAll(".font-menu-button");
            for (Node candidate : menuButton1) {
                if (candidate instanceof ComboBox && i == 1) {
                    ComboBox menuButton = (ComboBox) candidate;                  
                    List<String> removalList = FXCollections.observableArrayList();
                    //menuButton.getItems()这个需要HTMLEditor初始化完成,否则会返回空集合或size=0
                    final List<String> fontSelections = menuButton.getItems();
                    for (String item : fontSelections) {
                        if (!limitedFonts.contains(item)) {
                            removalList.add(item);
                        }
                    }
                    fontSelections.removeAll(removalList);                  
                }
                i++;
            }
相关推荐
_李小白7 分钟前
【android opencv学习笔记】Day 32:直线检测之霍夫变换
android·opencv·学习
plainGeekDev4 小时前
文件读写(Java IO)→ Kotlin 扩展函数
android·java·kotlin
s_nshine4 小时前
释放C盘,迁移studio相关数据到其他盘
android·windows·android studio·内存·c盘
韩曙亮5 小时前
【Flutter】Flutter 中的 Android / iOS 特殊配置 ① ( 网络权限配置 | HTTP 明文传输配置 | 应用名称配置 )
android·网络·flutter·http·ios·网络权限
_李小白5 小时前
【android opencv学习笔记】Day 31:提取轮廓之Canny算法
android·opencv·学习
hashiqimiya6 小时前
每日android布局xml文件
android·xml·gitee
m0_738120726 小时前
渗透测试基础——PHP 序列化数据结构与反序列化机制详解
android·服务器·网络·数据结构·安全·php
故渊at7 小时前
第二板块:Android 四大组件标准化学理 | 第十一篇:组件间通信(IPC)与 Binder 深度解析
android·binder·组件化·组件间通信
ZC跨境爬虫7 小时前
跟着 MDN 学JavaScript day_10:数组——数据的有序集合
android·java·开发语言·前端·javascript