2012-02-15 76 views
0

我在窗體頂部嵌入了3個「TABS」。每個選項卡都有一個'LIST'。每當我將焦點從一個標籤更改爲另一個標籤時,我希望我的列表具有焦點。我如何確保我的列表始終關注? 我使用gameKeyEvents進行導航。我爲遊戲關鍵事件添加了一個actionListener。我無法重寫窗體的keyReleased()方法,因爲我需要向我的窗體添加一個動作偵聽器(它也包含其他命令)。LWUIT Tab導航/列表焦點問題

我試着重寫我的'Tabs'類的keyreleased()方法,但那不工作(爲什麼??)。什麼都沒發生。

Tabs holder = new Tabs() 
    { 
     public void keyReleased(int keyEvent) 
    { 
    System.out.println("key release is working"); // this statement does not work 
    } 
     }; 

當我通過左右鍵導航轉移的標籤,我的列表失去焦點(他們的選擇變淺),並在他們持有焦點其他時間(他們的選擇似乎很紮實。) 如何確保我的列表總是有焦點?這對我的程序工作非常重要。我附上了快照。請協助。

請看附圖。

在圖1中,您將看到列表項3被突出顯示。現在,如果我按下左/右/下游戲鍵......焦點從列表中消失並進入第三位的選項卡。我想要預防這個。 (無法發佈的Cuz是新用戶的圖像。請檢查鏈接)

enter image description here

enter image description here

回答

2

推導形式和覆蓋keyReleased/keyPresed檢測遊戲鍵左/右。

當你得到一個右鍵或左鍵從不叫超級(對於其他情況總是調用super)。

keyPressed方法中,如果您左右移動,只需切換選項卡並調用requestFocus()方法以獲取適當的列表。

您需要從Tabs組件獲取Tab按鈕,並將它們設置爲focusable false以防止列表失去焦點。

+0

謝謝! :).....這對我很有用 – Nikhil 2012-02-27 17:10:37