2012-02-15 69 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