所以,我有一个网格布局,将 JScrollPane 存储在每个单元格中。这些也出于其他目的放入数组中。“视图”扩展了“JPanel”,因此它只是一个支持图像的常规面板。应用程序以充满滚动窗格的单元格启动,其中包含还没有图像的视图。
那时我看不到滚动条,但这没关系,因为 JPanel 内没有任何内容。一旦我打开图像并在 JPanel 的paintComponenet 中使用 drawImage,我就看不到滚动条出现。这是我创建网格和滚动窗格的方法
private void createContentPane()
{
GridLayout gridLay = new GridLayout(GRID_ROWS, GRID_COLUMNS);
perspectiveTbl = new JScrollPane[NUM_PERSPECTIVE];
mainPane = new JPanel();
mainPane.setLayout(gridLay);
int idx = 0;
while(idx < perspectiveTbl.length)
{
perspectiveTbl[idx] = new JScrollPane(new View(modelImage));
mainPane.add(perspectiveTbl[idx]);
idx++;
}
this.getContentPane().add(mainPane, BorderLayout.CENTER);
}
我不完全确定为什么滚动条没有出现,是否应该在图像面板内设置它们?
这是应用程序的图像,您可以看到鞋子的图片没有收到滚动条,因此无法查看图片的其余部分: