我当前正在使用ControlsFX的AutoComplete TextField功能在用户键入内容时显示建议。建议量很大,因此该列表不适合该页面。
我想将字符串列表的长度设置为最大,但这在ControlsFX中尚不可能(正如我可以得出的结论那样)。因此,我正在考虑一种解决方法,其中仅在用户键入3个或更多字符的字符串时显示列表。
现在,我已将此动作设置为在单击TextField时执行(其中searchCustomer是我的TextField):
@FXML
private void searchCustomer() {
//Get all customers from shop
String[][] customersOfShop = octocash.Main.databaseConnection.getData("some query",
Arrays.asList("some columname"));
//Convert 2D array to 1D array
int noOfRows = customersOfShop.length;
String[] customersForList = new String[noOfRows];
for(int k=0; k<noOfRows; k++) {
customersForList[k] = customersOfShop[k][0];
}
//Set values to AutoComplete TextField
TextFields.bindAutoCompletion(searchCustomer, customersForList);
}
如何在java / javaFX8中做到这一点?
一种方法是观察文本长度:
IntegerBinding ib = Bindings.length(textField.textProperty());
ib.addListener((ObservableValue<? extends Number> observable, Number oldValue, Number newValue) -> {
if(newValue.intValue() >= 3) {
// trigger auto complete
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句