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++;
            }
相关推荐
骐骥120 分钟前
2025-09-08升级问题记录: 升级SDK从Android11到Android12
android·android12·sdk31
CV资深专家4 小时前
Android 各分区模块编译配置(mk/bp)总结
android
louisgeek6 小时前
Java 线程池取消的方式
android
Billy_Zuo6 小时前
人工智能机器学习——模型评价及优化
android·人工智能·机器学习
tangweiguo030519877 小时前
Flutter与原生混合开发:实现完美的暗夜模式同步方案
android·flutter
雨白8 小时前
深入理解 Android 触摸事件:以实现 ViewPager 为例
android
shenshizhong8 小时前
看懂鸿蒙系统源码 比较重要的知识点
android·harmonyos
一只修仙的猿10 小时前
再谈性能优化,一次项目优化经历分享
android·性能优化
雮尘11 小时前
Android性能优化之枚举替代
android
2501_9159090613 小时前
苹果上架App软件全流程指南:iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传与审核技巧详解
android·ios·小程序·https·uni-app·iphone·webview