2023-02-15 329
我想根据文本字段是否包含任何内容,以启用或禁用一个按钮,并且我想通过使用属性绑定来实现此功能.
因此,首先,我在文本字段的文本属性上使用了ISEMPTY()方法来为按钮的禁用属性创建布尔值绑定:
startSearchButton.disableProperty().bind(searchField.textProperty().isEmpty());
虽然绑定有效,但我对”文本字段包含任何内容”的定义与Isempty()方法所做的不同,即仅检查文本的长度是否为0.但是,我对是否存在”感兴趣.真实的”文本,即文本字段是否为 blank (不仅不是空,而且实际上不仅是空格).
不幸的是,没有方法isblank(),我也找不到绑定实用程序中的任何合适的东西.现在,我看到您可以通过bindings.createbooleanproperty方法实现您喜欢的任何自定义布尔属性,但是我尚不熟悉定义自定义绑定的概念.我将如何为我的案件实施这样的布尔属性?
您可以使用(在许多方法中)创建自定义绑定#createBooleanBinding-java.util.concurrent.callable-javafx.beans.beans.observable …-” rel =” noreferrer”> Bindings.createBooleanBinding(…) .第一个参数是一个计算绑定值的函数(您可以使用trim()从文本中修剪空格,然后检查结果是否为空);其余的参数是触发绑定重新计算的可观察到的列表.您想在文本字段中的文本更改时重新计算绑定,因此只需指定文本属性:
startSearchButton.disableProperty().bind(Bindings.createBooleanBinding(() ->
searchField.getText().trim().isEmpty(),
searchField.textProperty());
至于2022
public static BooleanBinding isBlank(StringProperty stringProperty) {
return Bindings.createBooleanBinding(() -> stringProperty.get().isBlank(), stringProperty);
}
public static BooleanBinding isNotBlank(StringProperty stringProperty) {
return isBlank(stringProperty).not();
}
(idk为什么没有人建议String::isBlank,也许以后添加在Java中)
您也可以这样做:
with apache stringutils.isblank()
startSearchButton.disableProperty().bind(Bindings.createBooleanBinding(() ->
StringUtils.isBlank(searchField.getText()),
searchField.textProperty());
创建自己的方法
public static boolean IsNullOrWhitespace(String s) {
if(s == null) {
return true;
}
for(int i = 0; i < s.length(); ++i) {
if(!Character.isWhitespace(s.charAt(i))) {
return false;
}
}
return true;
}
,然后:
startSearchButton.disableProperty().bind(Bindings.createBooleanBinding(() ->
IsNullOrWhitespace(searchField.getText()),
searchField.textProperty());
以上所述是小编给大家介绍的JavaFX:检查文本属性是否为空(而不仅仅是空),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/33778.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态