如何重新缩放JPanel的绘制内容

时间:2013-05-19 08:33:39

标签: java swing jpanel paint rescale

我有一个窗口,其中包含绘制数字的上部JPanel,以及列表中JPanel列出数字的下部JList

[minature][figure.toString()]

小号为JPanel,大小为10x10。我希望它能在上面板中包含绘制图形的微小特征。我的意思是。

class minaturePanel{
Figure f;....
public void paint(Graphics g){
  g.drawFullSizeFigure(f);
  g.rescaleWholeInsidesOfThePanel();

}
}

3 个答案:

答案 0 :(得分:3)

example绘制成BufferedImage并使用AffineTransformOp进行缩放。

image

您可能还想查看JScrollNavigator,检查here。它允许您导航整个组件的缩略图图像,在相邻滚动窗格中以完整大小显示。

image

答案 1 :(得分:1)

似乎您想要将完整的图形绘制到图像上,返回图像,然后重新缩放图像,然后在面板上绘制图像,该图像的尺寸与面板的尺寸相同。实际上,您可以在绘制图像时重新缩放图像。

答案 2 :(得分:1)

如果Figure无法自行扩展。您可以使用AffineTransformation来扩展自己的Graphics上下文。只是不要忘记恢复以前的转换...

查看Transforming Shapes, Text, and Images了解详情。