设置JavaFX TextArea的选项卡间距/大小可视化

Kol*_*ban 2 javafx javafx-8

我正在使用JavaFX 8,特别是TextArea控件.在该控件中,我可以输入包括"制表符"字符的自由格式文本.当我输入选项卡时,数据以8个字符为单位.例如.在下面,!角色是我输入标签的位置:

1234567890123456789012345678901234567890
!       Data here
ABC!    Data here
!!              Data Here
Run Code Online (Sandbox Code Playgroud)

我的谜题是如何更改视觉的标签间距/大小调整,以便标签大小不是8个字符,而是4个字符.

为了进一步说明,这是一个显示我的文本区域中的选项卡的实际屏幕截图:

在此输入图像描述

我想将数据保留为包含制表符,而不是用空格替换制表符.

此Stack Exchange问​​题不适用,因为它专门讨论将标签更改为空格:

JavaFX TextArea:如何设置制表宽度

Kol*_*ban 6

我决定浏览JavaFX的源代码以查看我是否能找到答案,虽然我不是检查如此大量代码的专家,但我似乎发现答案是选项卡大小很难 - 编码为8个字符!!

我发现源文件名为:

com.sun.javafx.text.PrismTextLayout.java

它有一个叫做getTabAdvance返回固定值"8"的方法.请参阅以下内容:

在此输入图像描述

这对我来说是最令人失望的,但事实就是如此.

  • 好研究。我和你一样失望 - 我不知道什么样的动物认为 8 个空格对于一个标签是合理的。 (2认同)