2012-02-07 95 views
2

我製作了Container化合物的TextAreaCheckBox。在我的應用程序中,我創建了許多這樣的「Containers」,並在其中添加了其中的每個TextAreaActionListener(由類實現)。事情是這樣的:LWUIT TextArea不捕捉觸摸事件

for(int i = 0 ; i<20;i++){ 
MyContainer c = new MyContainer(); 
TextArea t = c.getTextArea(); 
t.addActionListener(this); 
} 

我想TextArea趕上事件,如果按下它把CheckBox選中或取消選中。它在非觸摸設備和模擬器中工作正常,但在觸摸設備或模擬器中,TextArea未捕獲該事件。我試圖將TextArea作爲Container的主要組件,但它不起作用,因爲Container沒有addActionListener方法。

回答

0

最好是你deriveTextArea類爲getTextArea()方法。然後在本課中實施pointerReleased方法:以正常方式對其執行的操作進行編碼。

2

如果我正確地理解了這個問題,您正試圖創建一個由多個不同組件組合而成的複合組件,以充當單個組件。在LWUIT/Codename One中,這被稱爲Lead Component,附加的帖子主要是關於資源編輯器,但這些概念也適用於手動編碼。 只需設置「複選框」作爲您的主角,一切都應該工作。

您可以通過派生和覆蓋手動進行編碼,但您會有像樣式狀態更改(聚焦/按下狀態等)的小邊緣案例