我正在制作一个实用程序来为我的游戏在地图中定义立足点,并且我正在 JScrollPane 内的 JPanel 内显示地图的预览。当地图大于 JScrollPane 时,我希望能够滚动。我该怎么做?
这是一张图片
地图的图像适合滚动窗格,但图像实际上更大,所以我们看不到整个地图。
一些代码:
将图像保存在 scrollPane 内的 JPanel 类
public class MapDisplay extends JPanel {
public MapDisplay() {
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponents(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(new Color(0xDFDFDF));
g2d.fillRect(0, 0, 2000, 2000);
if (mapinfo != null) {
if (mapinfo.img != null) {
g2d.drawImage(mapinfo.img, 0, 0, null);
}
}
repaint();
}
}
scrollPane 的声明
final JScrollPane scrollPane_1 = new JScrollPane(mapDisplay);
scrollPane_1.setBounds(10, 11, 989, 553);
getContentPane().add(scrollPane_1);
add(scrollPane_1);