2011-10-04 69 views
0

我使用的是企業組件從ICEfaces的:numberSpinnericefaces spinner listener?

我知道如何從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改變微調的價值,所以我想我錯了聽衆不叫......

能否請您伸出援助之手?

回答

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