以下のコードを編集テキストに使用しました。編集テキストの幅と高さを指定し、テキストが指定された高さになると、フィールドはそのコンテンツをスクロールしますが、このコードをより動的にしたいです。このエディットフィールドは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);
}
}