Piotr Gajowy wrote:-in done()
drawImage(bImage, 0, 0, this); - on components Graphics
You shouldn't do that. The component should get a reference to the BufferedImage, which it should draw in its paintComponent method. The done method should then set the BufferedImage and call repaint(). Assuming this SwingWorker is declared inside the component itself, this should then be part of your SwingWorker
Second quick question - can I access Component's method .getHeight from other than EDT threads?
You really shouldn't. This method is not thread safe. If the component is resized while you query this method the results are unpredictable.