【发布时间】:2019-12-28 01:59:43
【问题描述】:
我通过关注this 帖子在我的JavaFX TextField 中包含了一张图片,但现在我的问题是文本可能会溢出以掩盖图片,如下所示:
我想要做的是,当我到达TextField 的边缘时,它应该开始切断可见文本,而不是 TextField 移动和切断文本,当我到达左边缘时图片。我该怎么做?
【问题讨论】:
标签: java css javafx background-image textfield
我通过关注this 帖子在我的JavaFX TextField 中包含了一张图片,但现在我的问题是文本可能会溢出以掩盖图片,如下所示:
我想要做的是,当我到达TextField 的边缘时,它应该开始切断可见文本,而不是 TextField 移动和切断文本,当我到达左边缘时图片。我该怎么做?
【问题讨论】:
标签: java css javafx background-image textfield
可能最简单的方法是在 TextField 的右侧设置填充以考虑图像:
-fx-padding: 4px 25px 4px 7px;
这将保留top、bottom 和left 的默认填充,同时更新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;"
);
【讨论】:
-fx-padding: 属性有 4 个值。我将它们全部保持在默认的 5px 并且只更新第二个,它对应于右侧。我相信它们依次是top、right、bottom、left。
modena.css,TextField 具有以下默认填充:0.333333em 0.583em 0.333333em 0.583em 或 4 7 4 7