Это должно быть несколько просто.Есть два основных шага.
1.) Создайте виджет, которому можно сказать загружать изображение программно, а не автоматически показывать его.Сохраните URL-адрес изображения для загрузки и создайте метод для его загрузки.
public class LazyImage extends Image {
private String url;
// Override behavior of base Image constructor to just store the URL.
public LazyImage(String url) {
this.url = url;
}
public void lazyLoad() {
super.setUrl(url);
}
}
Это можно использовать почти так же, как обычный класс Image
, за исключением того, что вам нужно будет вызвать lazyLoad()
чтобы изображение действительно появилось.
2.) Определите, когда требуется изображение, используя ScrollPanel
.
Я не совсем уверен в коде этого сверхумоей головы, но это будет в основном сводиться к сравнению местоположения изображения с положением прокрутки панели прокрутки.Если позиция прокрутки> = расстояние изображения до верхней части панели прокрутки, позвоните lazyLoad()
, и изображение появится.
Я не пробовал ни один из этого кода, это всего лишь набросок чего-тоэто должно работать.Не стесняйтесь задавать вопросы или оставлять отзывы, если это работает / не работает для вас.