繁体   English   中英

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

[英]How to rescale painted contents of JPanel

我有一个窗口,其中包含上面的JPanel ,其中绘制了数字,下面的JPanel ,其中JList列出了数字,列表看起来像:

[minature][figure.toString()]

缩影是大小为10x10 JPanel 我希望它在上部面板中包含绘制图形的缩图。 我的意思是。

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

}
}

示例将其绘制为BufferedImage并使用AffineTransformOp进行缩放。

图片

您可能还想看看这里检查过的 JScrollNavigator 它使您可以浏览整个组件的缩略图,并在相邻的滚动窗格中以完整尺寸查看。

图片

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

如果该Figure没有能力自行缩放。 您可以使用AffineTransformation来缩放自己的Graphics上下文。 只是不要忘记恢复以前的转换...

请查看“ 变换形状,文本和图像”以获取更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM