Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javajpanel&;滚动面板_Java_Image_Swing_Jpanel_Jscrollpane - Fatal编程技术网

javajpanel&;滚动面板

javajpanel&;滚动面板,java,image,swing,jpanel,jscrollpane,Java,Image,Swing,Jpanel,Jscrollpane,我正在开发一个管理图像过滤器等的应用程序 我想有滚动条时,图像是大的显示。 我将扩展JPanel的自定义面板放在JScrollPane中,并将其添加到JFrame中 显示“我的图像”,但不显示整个图像,滚动条也不存在 如何使滚动条显示 这是我的密码: CustomePanel test = new ImagePanel(new File("test.jpg")); test.setPreferredSize(new Dimension(400, 400)); JScrollPane tmp =

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

我想有滚动条时,图像是大的显示。 我将扩展
JPanel
的自定义面板放在
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);

您的初始首选大小可能与
图像的大小不匹配。不要使用
setPreferredSize
,而是覆盖
getPreferredSize
以反映
ImagePanel
中图像的大小:

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

如果面板不需要作为容器,则使用
JLabel
将是一种更好的方法。

尝试将滚动窗格设置为相同的首选大小,并对其进行测试,这是一个工作示例。如果您无法根据该代码对其进行分类,请发布一篇您的最佳尝试。”我将其添加到我的框架中“dyma
java.awt.Frame
或a
javax.swing.JFrame
?没有充分的理由,不要混合Swing和AWT组件。顺便说一句,我在问题中添加了“如何让滚动条出现?”因为它缺少滚动条(这是一个问题)。如果这不是你的问题,问你自己的问题。我的错,确实是JFrame。这很有效,非常感谢。我可以问你一件事吗?我的滚动条在左边,我想在底部留一秒钟,我怎么能做到呢?我真的不认为在标签更合适的地方使用面板有什么好处。再次感谢。我之所以使用面板,是因为在我所做的工作中它是强制性的,如果面板不需要用作标签,我会同意container@user2339951无法复制滚动条问题,因此将要求您发布