Editfield动态

时间:2012-04-26 07:59:47

标签: blackberry java-me

我使用下面的代码编辑文本,其中我给出了编辑文本的宽度和高度,一旦文本填充给定的高度,该字段将滚动其内容,但我想使这段代码更具动态性。我希望这个编辑区只有一行,并且它会增长为3或4行完成的许多行,在完成此操作后,字段应滚动它包含的内容。对此有何帮助?

public class TextBoxField extends VerticalFieldManager {
    private int managerWidth;
    private int managerHeight;
    private EditField editField;

    public TextBoxField(int width, int height) {
        super(Manager.NO_VERTICAL_SCROLL);
        managerWidth = width;
        managerHeight = height;

        VerticalFieldManager vfm = new VerticalFieldManager(Manager.VERTICAL_SCROLL);

        editField = new EditField(){
            public void paint(Graphics g) {
            getManager().invalidate();
            super.paint(g);
        }
    };

    vfm.add(editField);
        add(vfm);
    }

    public void paint(Graphics g) {
        super.paint(g);
        g.drawRect(0, 0, getWidth(), getHeight());
    }

    public void sublayout(int width, int height) {
        if (managerWidth == 0) {
            managerWidth = width;
        }
        if (managerHeight == 0) {
            managerHeight = height;
        }
        super.sublayout(managerWidth, managerHeight);
        setExtent(managerWidth,managerHeight);
    }

    public String getText() {
        return editField.getText();
    }

    public void setText(String text) {
        editField.setText(text);
    }
}

0 个答案:

没有答案