-
- Thread bookBlocksUpdater = new Thread(new Runnable() {
- @Override
- public void run() {
- while (true) {
- BasicLibrary lib = Instance.getInstance().getLibrary();
- while (true) {
- final BookBlock book;
- synchronized (updateBookQueueLock) {
- if (!updateBookQueue.isEmpty()) {
- book = updateBookQueue.remove();
- } else {
- book = null;
- break;
- }
- }
-
- try {
- final Image coverImage = BookBlock.generateCoverImage(lib, book.getInfo());
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- try {
- book.setCoverImage(coverImage);
- data.fireElementChanged(book.getInfo());
- } catch (Exception e) {
- }
- }
- });
- } catch (Exception e) {
- }
- }
-
- try {
- Thread.sleep(10);
- } catch (InterruptedException e) {
- }
- }
- }
- });
- bookBlocksUpdater.setName("BookBlocks visual updater");
- bookBlocksUpdater.setDaemon(true);
- bookBlocksUpdater.start();