Resizing JPanel to prepare for printing without removing it from its original position

Posted by Lesman on Stack Overflow See other posts from Stack Overflow or by Lesman
Published on 2009-08-02T23:06:31Z Indexed on 2010/03/17 15:01 UTC
Read the original article Hit count: 192

Filed under:
|
|
|
|

In my program I frequently need to print various JComponents (generally JPanels) and I like them to be full-page. The way I do it now is by using the following code:

g2d.scale(pf.getImageableWidth()/componentToPrint.getWidth(), pf.getImageableHeight()/componentToPrint.getHeight());

but this often stretches or otherwise deforms whatever I am trying to print, and I would much prefer to do something that re-sized intelligently, perhaps a functional version of:

componentToPrint.setSize(pf.ImageableWidth(), pf.ImageableHeight);

or say adding the component into a new JFrame and then setting the frame size (problem is components can't exist in two place at once). I wouldn't care if the resizing would make the rest of the GUI look terrible, as long as it is something that can easily be reset.

Is there any way to do this?

© Stack Overflow or respective owner

Related posts about java

Related posts about printing