icefaces spinner听众?

时间:2011-10-04 11:30:24

标签: java jsf icefaces icefaces-1.8

我正在使用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更改微调器的值时没有调用侦听器,所以我认为我错了......

你能伸出援助之手吗?

1 个答案:

答案 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
});