-1

我正在开发一个管理图像过滤器等的应用程序。

当图像太大而无法显示时,我希望有滚动条。我将扩展的自定义面板JPanel放在 a 中JScrollPane,然后将其添加到我的JFrame.

我的图像显示但不是整个图像,滚动条不存在。

如何让滚动条出现?

这是我的代码:

CustomePanel test = new ImagePanel(new File("test.jpg"));
test.setPreferredSize(new Dimension(400, 400));
JScrollPane tmp = new JScrollPane(test);
this.getContentPane().add(tmp);
4

2 回答 2

2

您最初的首选尺寸可能与您的Image. 而不是使用setPreferredSize,覆盖getPreferredSize以反映图像的大小ImagePanel

@Override
public Dimension getPreferredSize() {
   return new Dimension(image.getWidth(this), image.getHeight(this)); 
}

JLabel如果面板不需要作为容器,A将是一个更好的方法。

于 2013-05-01T15:57:05.153 回答
0

尝试将相同的首选大小设置为滚动窗格并进行测试

于 2013-05-01T16:03:32.537 回答