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

标签 java css javafx background-image textfield

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

Textfield text overlaps on image

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

最佳答案

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

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

这将保留 topbottomleft 的默认填充,同时更新 right值(value)。这里的 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;"
);

screenshot

关于java - 如何将文本字段中一次可见的字符数限制为小于文本字段的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57614505/

相关文章:

java - 为什么调试String拼接的时候会弹出StringBuilder?

java - 在 Android 应用程序中每分钟重复启动动画

css - 响应式网页设计 : How many after comma digits for percentage values?

带有按钮和分页的 Javafx TableView

scroll - 如何在 setText 之后滚动 JavaFX TextArea

java - 将 java 对象存储为 clob 并检索

java - 如果类不在 servlet-context 的基础包中,则为 "No message found under code"。为什么?

css - 每个边界边的渐变完全不同?

css - IE 不使用重定向 URL 来解析相对 URL

JavaFX 在初始化期间使用解析的变量