所以,我有一个网格布局,它在每个单元格中存储 JScrollPane。这些也出于其他目的放入数组中。 “ View ”扩展了“JPanel”,因此它只是一个具有图像支持的常规面板。应用程序以充满滚动 Pane 的单元格开始,滚动 Pane 包含还没有图像的 View 。
此时我看不到滚动条,但这并不重要,因为 JPanel 中没有任何内容。一旦我打开图像并在 JPanel 的 paintComponenet 中使用 drawImage,我就看不到滚动条的显示。下面是我如何创建网格和滚动 Pane
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);
}
我不确定为什么滚动条没有出现,它们是否应该设置在图像面板内?
这是应用程序的图片,您可以看到鞋子的图片没有滚动条,因此无法查看图片的其余部分:
最佳答案
您可以不使用带有图像的 JPanel,而是使用带有图像的普通 JLabel
或
为面板调用 setPreferredSize()
以反射(reflect)图像的大小。
关于java - JScrollPanes 滚动条不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8329859/