[英]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.