我本來期望第二個選項可以工作 - 但不是。究其原因可能是以下(從API文檔ELProperty)
這是非常重要的,任何bean的屬性通過 解決ELProperty遵循Java Beans規範,包括髮射 屬性更改通知;否則,ELProperty無法 變化
列表的大小()方法符合既不的兩個條件作出響應。
一條出路是在轉換器堵塞(手動編碼,永遠不會使用NetBeans :-)
AutoBinding sizeBinding =
Bindings.createAutoBinding(UpdateStrategy.READ,
table, ELProperty.create("${selectedElements}"),
countLabel, BeanProperty.create("text")
);
Converter<List<?>, String> converter = new Converter<List<?>, String>() {
@Override
public String convertForward(List<?>value) {
if (value != null) {
return "" + value.size();
}
return "empty";
}
@Override
public List<?> convertReverse(String value) {
return null;
}
};
sizeBinding.setConverter(converter);
另可實現和電線一個BeanAdapterProvider/-Factory,如在同一文檔中提到,沒有嘗試。