Добрый день!
Вы можете добавить в LookupPIckerField
произвольные действия, например:
Произвольные действия в XML-дескрипторе
<pickerField datasource="carDs" property="colour">
<actions>
<action id="lookup"/>
<action id="show" icon="PICKERFIELD_OPEN"
invoke="showColour" caption=""/>
</actions>
</pickerField>
Метод showColour
, определенный в атрибуте invoke
должен быть реализован в контроллере экрана.
Программно задать произвольное действие можно следующим образом:
@Inject
protected PickerField colourField;
@Override
public void init(Map<String, Object> params) {
colourField.addAction(new AbstractAction("show") {
@Override
public void actionPerform(Component component) {
showColour(colourField.getValue());
}
@Override
public String getCaption() {
return "";
}
@Override
public String getIcon() {
return "icons/show.png";
}
});
}
Live Demo