Blackberry Editfield将光标保持在右侧

Blackberry Editfield将光标保持在右侧,blackberry,blackberry-jde,blackberry-editfield,Blackberry,Blackberry Jde,Blackberry Editfield,我想创建一个editfield,其光标保持在右边。 为了说明我是否想写“blackberry”,结果应该是这样的 <-----------width-of-editfield------> b bl bla bl

我想创建一个editfield,其光标保持在右边。
为了说明我是否想写“blackberry”,结果应该是这样的

<-----------width-of-editfield------>
                                    b
                                   bl
                                  bla
                                 blac
                                black
                               blackb
                              blackbe
                             blackber
                            blackberr
                           blackberry

不幸的是,您必须创建自己的
管理器
。没有简单或明显的方法可以做到这一点


发布在黑莓论坛上。

就像斯瓦蒂的解决方案一样。我喜欢这样:

editField = new EditField("", "", maxChars, EditField.NO_NEWLINE | EditField.NON_SPELLCHECKABLE){
    protected boolean keyChar(char key, int status, int time){
        switch (key){
            case Characters.BACKSPACE:{
                try {
                    text = text.substring(0,text.length()-1);
                    invalidate();
                } catch (IndexOutOfBoundsException e) {}
                return true;
            }
        }
        text = text + key;
        invalidate();
        return true;
    }
    protected void paint(Graphics graphics) {
        graphics.drawText(text,0, 0, DrawStyle.RIGHT, width - 10);
        super.paint(graphics);
    }
};

看起来你的意思是文本是右对齐的:)无论如何,我找到了一个简单的方法。这是在问题帖中。你真的不应该在每个keychar上设置填充,但是任何对你有效的东西都可以。它有效,但是为什么要在每个按键上重置填充并重新绘制?!!?!
editField = new EditField("", "", maxChars, EditField.NO_NEWLINE | EditField.NON_SPELLCHECKABLE){
    protected boolean keyChar(char key, int status, int time){
        switch (key){
            case Characters.BACKSPACE:{
                try {
                    text = text.substring(0,text.length()-1);
                    invalidate();
                } catch (IndexOutOfBoundsException e) {}
                return true;
            }
        }
        text = text + key;
        invalidate();
        return true;
    }
    protected void paint(Graphics graphics) {
        graphics.drawText(text,0, 0, DrawStyle.RIGHT, width - 10);
        super.paint(graphics);
    }
};