Blackberry Editfield将光标保持在右侧

问题描述

| 我想创建一个编辑域,其光标保持在它的右侧。 为了说明我是否要写“ blackBerry”,结果应该是这样的。
<-----------width-of-editfield------>
                                    b
                                   bl
                                  bla
                                 blac
                                black
                               blackb
                              blackbe
                             blackber
                            blackberr
                           blackBerry
谢谢   由于缺乏名声之类的东西,我无法回答自己的问题。 无论如何,我找到了一种简单的方法
width
是指保存此编辑字段的管理器的宽度。
editField = new EditField(\"\",\"\",maxChars,EditField.NO_NEWLINE | EditField.NON_SPELLCHECKABLE){
        protected boolean keyChar(char key,int status,int time) {
        editField.setPadding(0,width - (getFont().getAdvance(this.getText())) - 10);
        invalidate();
        return super.keyChar(key,status,time);
    }
};
    

解决方法

不幸的是,您将必须创建自己的
Manager
。没有简单或明显的方法来执行此操作。 BlackBerry论坛上发布了带有源代码的解决方案。     ,就像Swati的解决方案一样。我确实是这样的:
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,DrawStyle.RIGHT,width - 10);
        super.paint(graphics);
    }
};