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++;
            }
相关推荐
aq55356003 小时前
MySQL-触发器(TRIGGER)
android·数据库·mysql
一起搞IT吧4 小时前
Android功耗系列专题理论之十六:功耗不同阶段&不同模块分析说明
android·c++·智能手机·性能优化
Greenland_124 小时前
Android Java使用Glide无法生成GlideApp
android·java·glide
耶叶4 小时前
Android开发:用户注册和登录的数据库代码详细解释
android·数据库·kotlin
常利兵4 小时前
打造Android网络框架:为请求铺就高速路
android·网络·php
艾莉丝努力练剑4 小时前
【MYSQL】MYSQL学习的一大重点:MYSQL数据类型
android·linux·数据库·人工智能·学习·mysql·网络安全
pangares4 小时前
MySQL中between and的基本用法
android·数据库·mysql
亚历克斯神5 小时前
Flutter for OpenHarmony: Flutter 三方库 mongo_dart 助力鸿蒙应用直连 NoSQL 数据库构建高效的数据流转系统(纯 Dart 驱动方案)
android·数据库·flutter·华为·nosql·harmonyos
冰语竹6 小时前
Android学习之线性布局。
android
Lei活在当下14 小时前
Codex 工程化实践指南:深入理解 AGENTS.md、SKILL.md 与 MCP
android·openai·ai编程