В LWUIT, как программно установить "TextArea's Scroll" обратно наверх, после его перемещения вниз?

Используя LWUIT, у меня есть Form с двумя компонентами: только для чтения TextArea и Button:

TextArea text = new TextArea("blah blah blah blah blah blah blah blah blah ...");
text.setEditable(false);
form.addComponent(text);

Button button = new Button("Press Me !");
button.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent evt) {
          // DESIRED CODE IS HERE ...
     }
});
form.addComponent(button);

TextArea имеет Scrollbar потому что он содержит длинный Stringкогда пользователь двигается DOWN TextArea"s Scrollbar движется вниз, пока не достигнет конца Stringтогда Button сфокусироваться, оставляя TextArea"s Scrollbar в конце TextArea,

Я хочу это, когда Button при нажатии на полосу прокрутки возвращается в исходное состояние в Top из TextArea вместо того, чтобы быть в Bottom из TextArea, Как я мог это сделать?

1 ответ

Решение

Вот решение для тех, кто заинтересован.
с помощью пользовательского TextArea

public class CustomTextArea extends TextArea {
    public TextAreaScrollControlled(String text) {
        super(text);
    }

    public void resetScrollBackToTop() {
        setScrollY(0);
    }
}

Тогда код следующий (вместо того, который был опубликован в вопросе):

CustomTextArea text = new CustomTextArea("blah blah blah blah blah blah ...");
text.setEditable(false);
addComponent(text);

Button button = new Button("Press Me !");
button.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent evt) {
          text.resetScrollBackToTop(); // SOLUTION
     }
});
form.addComponent(button);

PS. "Текст" должен быть окончательным или членом класса;)

Другие вопросы по тегам