如何在JavaFX按钮中设置字母间距
JavaFX按钮设置字母间距的实现方法
JavaFX的默认Button文本组件(Labeled)本身没有直接的字母间距CSS属性,不过可以通过以下两种实用方法实现需求:
方法一:使用Text节点作为按钮内容
Text组件原生支持letterSpacing属性,可精准控制字母间距,同时能继承按钮的文本样式:
代码实现
Button spacedButton = new Button(); Text buttonText = new Text("Text"); buttonText.setLetterSpacing(8); // 自定义间距值,单位为像素 // 将Text设为按钮的图形内容,同时继承按钮的文本样式 spacedButton.setGraphic(buttonText); buttonText.getStyleClass().add("button-text");
配套CSS(可选,用于统一样式)
如果需要让Text完全匹配按钮默认的文本样式,可添加以下CSS:
.button-text { fill: -fx-text-fill; font: -fx-font; }
方法二:手动添加空格(仅适用于静态文本)
如果文本内容固定,可直接在字符串中插入空格实现效果:
Button simpleButton = new Button("T e x t");
这种方法无需额外组件,但无法动态调整间距,也不适用于动态生成的文本内容。
内容的提问来源于stack exchange,提问作者Dokat
相关产品推荐
相关产品推荐

