【问题标题】:How do I limit the number of characters visible in a text field at a time to less than the textfield's width?如何将文本字段中一次可见的字符数限制为小于文本字段的宽度?
【发布时间】:2019-12-28 01:59:43
【问题描述】:

我通过关注this 帖子在我的JavaFX TextField 中包含了一张图片,但现在我的问题是文本可能会溢出以掩盖图片,如下所示:

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

【问题讨论】:

    标签: java css javafx background-image textfield


    【解决方案1】:

    可能最简单的方法是在 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;"
    );
    

    【讨论】:

    • 没想到。非常感谢!那行得通。
    • 如何确保只有右侧填充受到影响?
    • @trilogy -fx-padding: 属性有 4 个值。我将它们全部保持在默认的 5px 并且只更新第二个,它对应于右侧。我相信它们依次是toprightbottomleft
    • @Zephyr 哦,5px 总是默认的吗?
    • @trilogy - 不,我没有查看实际的原始值,只是选择了看起来接近的值。根据modena.cssTextField 具有以下默认填充:0.333333em 0.583em 0.333333em 0.583em4 7 4 7
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多