我实现了多行且可在y方向滚动的文本字段。但是它的工作方式很奇怪,如下图所示。如果我以多行方式一个接一个地添加一个文本,那么当我到达键盘弹出窗口时,顶部的文本仍然可见,只是不要滚动到结尾。
从第一张图片中可以看到,如果我滚动它,它将开始在屏幕顶部,而在第二张图片中,它只是不显示最后写的文本。关于此的任何建议将有所帮助。谢谢
我什至使用了DataChangedListener,但是我认为这不是问题。
dataTextField = (TextField) uib.findByName(DESIGNER_NAME_TEXT_FIELD, container);
dataTextField.setMaxSize(model.getMaxLength());
if (model.isMultiLine()) {
dataTextField.setSingleLineTextArea(false);
dataTextField.setRows(2);
} else {
dataTextField.setSingleLineTextArea(true);
}
dataTextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (dataTextField != null) {
if (dataTextField.getText().compareTo(model.getData().toString()) != 0) {
updateModel(dataTextField.getText());
}
}
}
});
public void updateModel(String text) {
synchronized(syncLock) {
model.onUserDataEntered(text);
}
}