如何将文本字段中一次可见的字符数限制为小于文本字段的宽度?

How do I limit the number of characters visible in a text field at a time to less than the textfield's width?

我已经按照 this post 在我的 JavaFX TextField 中包含了一个图像,但现在我的问题是文本可能会溢出以掩盖图像,如下所示:

我想要做的是,当我到达 TextField 的边缘时,它应该开始切断可见文本,而不是 TextField 移动并切断文本到图像的左边缘。我该怎么做?

可能最简单的方法是在 TextField 的右侧设置填充以说明图像:

-fx-padding: 4px 25px 4px 7px;

这将保留 topbottomleft 的默认填充,同时更新 right 值。这里的 25px 可能需要根据您的图片进行调整,但这是我的示例:

textField.setStyle(
        "-fx-background-image: url('resources/play.png');" +
        "-fx-background-repeat: no-repeat;" +
        "-fx-background-position: right center;" +
        "-fx-padding: 4px 25px 4px 7px;"
);