首页 > 解决方案 > 如何在 JavaFX TextArea 中使用 apache.commons.lang3.StringUtils.rightPad

问题描述

我在 JavaFX 中使用 TextArea 来显示我拖入 TextArea 的字符串。在 TextArea 内,我想保持某种格式。这就是为什么我使用库的rightPad功能org.apache.commons.lang3.StringUtils来格式化我的字符串。这是格式化我的字符串的代码部分:

CustomClass myObject = (CustomClass) dragboard.getContent(customClassDataFormat);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(myObject.getFirstCode() + "\t\t");
stringBuilder.append(StringUtils.rightPad(myObject.getStatement(), maxLength + 2));
stringBuilder.append(myObject.getLastCode() + "\n");

taextArea.appendText(stringBuilder.toString());

maxLength是一个最终的 int 值,它等于我要显示的最大语句的长度。这个变量被正确计算并且不会改变它的值,我验证了这一点。我期待我拖入我的文本区域的字符串完全对齐。相反,我得到了这个:

在此处输入图像描述

我意识到第一个代码之后的不匹配是由于我使用\t\t. 但即使我忽略了这一点,这些陈述也不一致。中间部分各不相同,但每个字符串应该相等(这就是我使用的原因rightPad)。

有谁知道这种行为的可能原因?这可能是appendText导致此问题的文本区域的功能吗?

标签: javafxapache-stringutils

解决方案


推荐阅读