我正在寻找一种方法将图像加载到我的应用程序中,然后在网格中显示它们。有点像谷歌图像搜索只有缩略图将都是相同的大小。图像的数量是随机的,因此必须能够滚动。此外,我必须能够与图像进行交互,因此当我点击它时,我必须能够发起一个事件。
创建这种网格的最佳方法是什么?如果是这样,指向教程的链接会有所帮助!
提前致谢
答案 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);
答案 1 :(得分:0)
只是一个包含水平或垂直包装的JList。您只需将ImageIcon添加到模型中,即可正确呈现图像。有关详细信息,请阅读How to Use Lists上Swing教程中的部分。 JList已经提供了“选择”类型的功能。