我正在使用Java和SWING,并且我有一个滚动窗格,它添加了一个相当大的图像,现在工作得很好,这意味着滚动功能按预期工作。然而,在这个形象,我需要补充Jbuttons中,并能够对这些将按钮添加到JScrollpane
鼠标点击行为在我下面的代码位的时刻上的不同位置:(片段,让我知道如果你需要任何东西)
jButton1 = new JButton("CLICK");
jButton1.setBounds(0, 0, 100, 100);
在此之后添加我的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());
添加按钮,我scrollerPane:
scroller.add(jButton1);
最后增加了我的滚动面板到我的容器:
scrollerContainer.add(scroller);
什么情况是,该按钮非常意想不到的时间和地点出现。首先它并不总是显示,它似乎发生在当java调用重绘/绘画时,其次,按钮与我的滚动窗格“滚动”,这意味着如果我应该将图像放在最右侧,按钮仍然会出现,即使它应该只显示在0,0。我想我不应该将jButton添加到我的滚动器对象,而是添加其他东西?但我无法弄清楚什么。
希望这个问题是有道理的,有人可以帮我:)
请包括一个[SSCCE](http://sscce.org/)“更好的帮助更快”。 :D – mre