2013-09-23 131 views
0

我正在寻找一种方法将图像加载到我的应用程序中,然后在网格中显示它们。有点像谷歌图片搜索只有缩略图将全部在相同的大小。图像的数量将是随机的,所以它必须能够滚动。此外,我必须能够与图像进行交互,所以当我点击它时,我必须能够触发一个事件。显示图像的网格

什么是创建这种网格的最佳方式?如果是这样,指向教程的链接将有所帮助!

在此先感谢

回答

3

既然要与影像互动,我会说画他们是出了问题,所以我的建议是创建的JLabel来保存图像和简单中的JLabel添加到带有gridLayout的面板。

至于交互添加一个监听器(可能鼠标)到每个JLabel,它会很容易检测到你点击的一个。

实施例:

JLabel j1 = new JLabel(); 
j1.setIcon(new ImageIcon("path to your image"); 

j1.addMouseListener(...); 

JPanel jp = new JPanel(new GridLayout(nRows, nCols); 
Jp.add(j1); 
+0

这真的帮了我很多!出于某种原因,虽然所有的图像都在彼此顶部结束,但我相信我会弄明白 – Leniaal

+0

@ user1896006,'我也必须能够与图像进行交互,所以当我点击它时必须能够发起一个事件。“ - 那么为什么你要重新发明轮子? JList已经支持一个选择监听器。它也支持键盘导航。你有什么问题与JList不符合你的要求? – camickr

0

只是一个与水平或垂直包装JList的。您只需将一个ImageIcon添加到模型中,并且图像将被正确渲染。请阅读How to Use Lists上的Swing教程部分以获取更多信息。 JList已经提供了“选择”类型的功能。

+0

谢谢!我会给这个镜头 – Leniaal