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