Java 向JScrollpane添加按钮

Java 向JScrollpane添加按钮,java,swing,jscrollpane,jbutton,Java,Swing,Jscrollpane,Jbutton,我使用的是Java和SWING,我有一个滚动窗格,其中添加了一个相当大的图像,现在可以正常工作,这意味着滚动功能可以按预期工作。然而,在这张图片的不同位置,我需要添加jButtons,并能够在这些按钮上操作鼠标 目前,我得到了以下代码:(代码片段,如果您还需要什么,请告诉我) 在此之后,我添加了actionlistener,它工作正常,然后使用img创建滚动窗格: BufferedImage wp = ImageIO.read(new File("Main_background.jpg"));

我使用的是Java和SWING,我有一个滚动窗格,其中添加了一个相当大的图像,现在可以正常工作,这意味着滚动功能可以按预期工作。然而,在这张图片的不同位置,我需要添加jButtons,并能够在这些按钮上操作鼠标

目前,我得到了以下代码:(代码片段,如果您还需要什么,请告诉我)

在此之后,我添加了actionlistener,它工作正常,然后使用img创建滚动窗格:

BufferedImage wp = ImageIO.read(new File("Main_background.jpg"));

JLabel image = new JLabel(new ImageIcon(wp));

scrollerContainer.setSize(screen_width-50,screen_height-50);
scrollerContainer.setLayout(new BorderLayout());
将按钮添加到我的滚动页面:

scroller.add(jButton1);
最后将我的滚动窗格添加到我的容器中:

scrollerContainer.add(scroller);
发生的事情是,按钮出现在非常意外的时间和地点。首先,它不是一直显示的,它似乎是在java调用重画/绘制时出现的,其次,按钮与我的滚动窗格一起“滚动”,这意味着如果我将图像移动到最右侧,按钮仍将显示,即使它只显示在0,0处。我想我不应该将jButton添加到我的scroller对象中,而是添加到其他对象中?但我不知道是什么


希望这个问题有意义,有人能帮我解决:)

你不应该直接在滚动窗格中添加组件

需要将按钮添加到滚动窗格视口中显示的标签中


以后,请在您的SSCCE上贴上问题,这样我们就不需要猜测了。

请附上“更快更好帮助”的提示:D非常感谢您的快速回答-在未来,我将确保发布一个更短、更好的问题(感谢链接mre!)
scrollerContainer.add(scroller);