为小地图创建JComponent的缩放图像

时间:2013-09-12 02:57:00

标签: java jpanel

我有一个带有大型JPanel的java swing应用程序,因为它是主要容器。我有更小的jPanels,这就构成了一个图表。这些图可能会变大,所以我想实现一个简单的小地图。我周围有一个彩色矩形,以及主图的缩小版本。这将是只读的。然后,用户可以移动矩形以快速移动图表的各个部分。

思考Age of Empires

最好的方法是什么?我很擅长摇摆,真的很困惑。

编辑:

所以我猜我需要像打印那样做一些事情

// Create a clone of the graphics context.  This allows us to manipulate
            // the graphics context without begin worried about what effects
            // it might have once we're finished
            Graphics2D g2 = (Graphics2D) g.create();


            // Create a new AffineTransformation
            AffineTransform at = new AffineTransform();

            // Set the scaling
            at.scale(scaleFactor, scaleFactor);

            // Apply the transformation
            g2.transform(at);

            // paint the component
            comp.paintAll(g2);

            // Dispose of the graphics context, freeing up memory and discarding
            // our changes
            g2.dispose();

1 个答案:

答案 0 :(得分:0)

有很多方法可以实现这一目标。我将从地图区域的缩小图像开始,与“缩放”#34;相比,你知道它的比例。视图...

根据用户的当前坐标"缩放"您需要将这些缩放到小地图比例并在其表面生成一个矩形。

首先看看

更多想法......