MiniMap For SideScrolling 2D game

Hey,

Im trying to put a minimap into my level editor for my SideScrolling 2D game. The area in which the level is drawn is within a JPanel, that is put into a JScrollPane, which then is put into a Jpanel, which is a tab on a JTabbedPane. All thats need to deal with the size changing ability of a map, because the user specifies the size, and a zoom in out feature is availible.

Anyway, i want to take the map the the Map JPanel is drawing, and shrink it down, and display it on another JPanel, as a miniMap.

I thought this would be rather easy, but cant get it too work. Ive tryed 2 ways, both times tring with both plain images, and buffered images.

Image image;
Graphics image_g = image.getGraphics();
...
public void paintComponent(Graphics g) {
      ....
      paintComponent(image_g);
}

At the time this seemed like a good idea, but once it stuffed up, i actually bothered to think about it a little, and it seemed to me that this code would loop around and stuff up.

Image image;
Graphics image_g = image.getGraphics();
...
public void paintComponent(Graphics g) {
      paintCommon(g);
      paintCommon(image_g);
}

public void paintCommon(Graphics g) {
      ...
}

This one didnt work ethier ofcourse, although i saw at the sun developer corner a post about this topic, and thats wat the answer was. However, i think my problem is something to do with the way im trying to get the images Graphics, as i think that even if i eleminated any painting to it, just trying to get it, still froze the program.

Thanx For any help.

It seems to me your fundamental problem is logical not code.

Ever point a video camera at its own monitor? It recurses into infinity. This is called video feedback.

If your sub-image is part of your main image and you are trying to blt your main image INTO your sub-image then you have the same exact problem.

The solution is NOT to render to screen but to render to an off-screen image and then use that as the source for both BLTs.