我使用的是来自冰山的企业组件: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);
我不知道的是如何为它指定一个侦听器?(你注意到我写空了)
他们的源代码说:
如果希望接收值更改事件,请在构造函数中指定INumberSpinnerListener实例。
但是怎么做呢?我试过,就像:
public INumberSpinnerListener testSpinnerListener() {
logger.info("Listener called!!!!!!!!!!!!!");
return null;
}
processorAlSpinner = new NumberSpinner(1,1,100,testSpinnerListener)
但是当我从UI中更改自旋器的值时,不会调用侦听器,所以我认为我错了.
你能帮个忙吗?
发布于 2011-10-04 14:01:16
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
});
https://stackoverflow.com/questions/7647194
复制相似问题