我正在使用icefaces的企业组件:numberSpinner
我知道如何从bean初始化它,例如:
processorAlSpinner = new NumberSpinner(1,1,100,null)
其中构造函数的源代码定义如下:
public NumberSpinner(int number, java.lang.Integer min, java.lang.Integer max, com.icesoft.faces.facelets.component.spinner.INumberSpinnerListener spinnerListener);
我不知道如何为它指定一个监听器? (你注意到我把它放了)
他们的源代码说:
但是怎么样?我尝试过这样:在构造函数if中指定INumberSpinnerListener的实例 您希望收到价值变动事件
public INumberSpinnerListener testSpinnerListener() {
logger.info("Listener called!!!!!!!!!!!!!");
return null;
}
processorAlSpinner = new NumberSpinner(1,1,100,testSpinnerListener)
但是当我从UI更改微调器的值时没有调用侦听器,所以我认为我错了......
你能伸出援助之手吗?
答案 0 :(得分:1)
INumberSpinnerListener是一个接口(我假设名称),因此您需要创建一个实现该接口的类,例如:
class MyListener implements INumberSpinnerListener {
// ... implementations of all the methods in the listener
}
然后在通话中提供它的实例,例如:
processorAlSpinner = new NumberSpinner(1,1,100, new MyListener());
如果界面很简单,您还可以直接定义匿名类,如:
processorAlSpinner = new NumberSpinner(1,1,100, new INumberSpinnerListener() {
// ... implementations of all the methods in the listener
});