我正在使用 JavaFX 8,特别是 TextArea 控件。在该控件中,我可以输入自由格式的文本,包括“制表符”字符。当我输入制表符时,数据以 8 个字符为单位间隔。例如。在下面,!
字符是我输入制表符的位置:
1234567890123456789012345678901234567890
! Data here
ABC! Data here
!! Data Here
我的难题是如何更改视觉效果的制表符间距/大小,以便制表符大小不再是 8 个字符,而是只有 4 个字符。
为了进一步说明,下面是在我的文本区域中显示选项卡的实际屏幕截图:
我想将数据保留为包含制表符,而不是用空格替换制表符。
此 Stack Exchange 问题不适用,因为它专门讨论将制表符更改为空格:
最佳答案
我决定仔细研究 JavaFX 的源代码,看看是否能找到答案,虽然我不是检查如此大量代码的专家,但我似乎发现答案是选项卡大小硬编码为 8 个字符!!
我找到了名为:
的源文件com.sun.javafx.text.PrismTextLayout.java
其中有一个名为 getTabAdvance
的方法,该方法返回固定值“8”。请参阅以下内容:
这对我来说是最令人失望的,但事实就是如此。
关于java - 设置 JavaFX TextArea 的制表符间距/大小可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27585668/