Blackberry 检测空格键事件

Blackberry 检测空格键事件,blackberry,java-me,Blackberry,Java Me,空格键在许多UI字段上都有默认操作:单击按钮字段,选择/取消选择复选框,在垂直字段管理器上滚动 我的屏幕上有一个超过20行的列表字段。当用户点击空格键时,我希望列表字段滚动 例如,黑莓默认日历应用程序,当我们点击空格键时,它会向下滚动。 和黑莓默认短信,当我们点击空格键时,它会向下滚动 这是默认属性吗?或者我需要为空格键编写代码吗?您必须创建一个自定义键侦听器: private class CustomKeyListener implements KeyListener { publi

空格键在许多UI字段上都有默认操作:单击按钮字段,选择/取消选择复选框,在垂直字段管理器上滚动

我的屏幕上有一个超过20行的列表字段。当用户点击空格键时,我希望列表字段滚动

例如,黑莓默认日历应用程序,当我们点击空格键时,它会向下滚动。 和黑莓默认短信,当我们点击空格键时,它会向下滚动


这是默认属性吗?或者我需要为空格键编写代码吗?

您必须创建一个自定义键侦听器:

private class CustomKeyListener implements KeyListener {

    public boolean keyChar(char key, int status, int time) {
        if(key == Characters.SPACE){
            //TODO handle key here
            //WARNING: this code runs on event thread!
            return true;
        } 

        return false;
    }

    public boolean keyDown(int keycode, int time) {         
        return false;
    }

    public boolean keyRepeat(int keycode, int time) {
        return false;
    }

    public boolean keyStatus(int keycode, int time) {
        return false;
    }

    public boolean keyUp(int keycode, int time) {
        return false;
    }       
}
然后调用
Mainscreen.addKeyListener
,将密钥侦听器的实例作为参数

从那里,您可以使用该方法更改管理器(主管理器或嵌套管理器)滚动。如果您想增加它,您可以检索当前的滚动调用,然后添加一个固定值。如果您的屏幕中没有嵌套的
VerticalFieldManager
,您可以尝试使用屏幕的默认设置,您可以获得调用

更新:

对于列表字段,您可以调用和更改元素,但这不是一个平滑的滚动。但是,如果将列表字段放置在VerticalFieldManager中,则可以如上所述更改管理器滚动。

您必须创建自定义密钥侦听器:

private class CustomKeyListener implements KeyListener {

    public boolean keyChar(char key, int status, int time) {
        if(key == Characters.SPACE){
            //TODO handle key here
            //WARNING: this code runs on event thread!
            return true;
        } 

        return false;
    }

    public boolean keyDown(int keycode, int time) {         
        return false;
    }

    public boolean keyRepeat(int keycode, int time) {
        return false;
    }

    public boolean keyStatus(int keycode, int time) {
        return false;
    }

    public boolean keyUp(int keycode, int time) {
        return false;
    }       
}
然后调用
Mainscreen.addKeyListener
,将密钥侦听器的实例作为参数

从那里,您可以使用该方法更改管理器(主管理器或嵌套管理器)滚动。如果您想增加它,您可以检索当前的滚动调用,然后添加一个固定值。如果您的屏幕中没有嵌套的
VerticalFieldManager
,您可以尝试使用屏幕的默认设置,您可以获得调用

更新:

对于列表字段,您可以调用和更改元素,但这不是一个平滑的滚动。但是,如果将列表字段放置在VerticalFieldManager中,则可以如上所述更改管理器滚动。

必须重写keyChar方法。@MaxGontar Hi。我对下面的答案投了赞成票,但忘了勾选接受答案。对不起,朋友。您必须重写keyChar方法。@MaxGontar您好。我对下面的答案投了赞成票,但忘了勾选接受答案。对不起,朋友。