1

我使用下面的代码来编辑文本,其中我给出了编辑文本的宽度和高度,一旦文本填充给定的高度,该字段将滚动其内容,但我想让这段代码更加动态。我想要这个只有一行的编辑字段,它会增长 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);
    }
}
4

0 回答 0