Обновление буферизованного изображения из фонового потока - PullRequest
2 голосов
/ 02 марта 2012

Я создаю и обновляю BufferedImage в фоновом потоке.Затем изображение рисуется на JPanel путем переопределения метода рисования панелей, как показано.

@Override
public void paint(Graphics g) {
    g.drawImage(image, 0, 0, null);
}

Фоновый поток периодически обновляет изображение, затем вызывает метод аннулирования панелей.

Я столкнусь скакие-либо проблемы с этим подходом?Приведут ли какие-либо проблемы к чтению свинга и фоновому обновлению изображения?

Спасибо

Бен

1 Ответ

2 голосов
/ 02 марта 2012

Два потока должны синхронизировать доступ к общим данным.SwingWorker является наиболее надежным подходом для периодической публикации BufferedImage;есть пример здесь с использованием Double.Вы также можете посмотреть пример здесь , который опирается на (неявный) порядок, предоставленный ему EventQueue и repaint()В любом случае ограничивающим фактором является частота таймера относительно времени перерисовки.

...