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

sac*_*cic 5 css java javafx background-image textfield

我已经TextField按照这篇文章在JavaFX中添加了一个图像,但是现在我的问题是文本可能溢出以掩盖该图像,如下所示:

文字栏位文字在图片上重叠

我想做的是,当我到达图像的左边缘时,它应该开始切除可见的文本,而不是TextField在到达边缘时移动并剪切文本TextField。我怎样才能做到这一点?

Zep*_*hyr 7

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

-fx-padding: 4px 25px 4px 7px;
Run Code Online (Sandbox Code Playgroud)

这将保持默认填充的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;"
);
Run Code Online (Sandbox Code Playgroud)

屏幕截图