java - JScrollPanes 滚动条不显示

标签 java swing jpanel jscrollpane grid-layout

所以,我有一个网格布局,它在每个单元格中存储 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);
}

我不确定为什么滚动条没有出现,它们是否应该设置在图像面板内?

这是应用程序的图片,您可以看到鞋子的图片没有滚动条,因此无法查看图片的其余部分:

Picture

最佳答案

您可以不使用带有图像的 JPanel,而是使用带有图像的普通 JLabel

为面板调用 setPreferredSize() 以反射(reflect)图像的大小。

关于java - JScrollPanes 滚动条不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8329859/

相关文章:

java - 跟踪 NullPointerExceptions 的最佳方法是什么?

java - 如何输出冒泡排序中执行的传递次数直到数组排序?

java - 具有固定高度和可变宽度 JButtons 的布局

java - 从特定方法调用时,JFrame 中的内容不显示

java - 使用多个 JPanel 无法显示矩形、形状(Java/Swing)

java - 添加到特定 JPanel 的图像不清晰

java - 使用 MiGLayout 设置 JPanel 的大小

java - 从多个集合中删除一个对象

java - 如何调用我的音乐类并在 while 循环内播放音乐,该循环在调用音乐类的行下执行我的行?

java - java中的面板退出