我可以创建一个包含多个图像的JFrame吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

这是我的问题:

我有一个应用程序,每次迭代它返回给我一个图像列表。图像具有不同的尺寸,并且要显示的图像的数量每次都不同。

有没有办法在jFrame中显示所有图像而不知道要创建的jPanel数量?有一个简单的方法吗?

视频:图像应同时显示,如并排或列出,因为它们用于比较目的。

Obs.2:每次显示的图像数量约为20-60。

谢谢

提问于
用户回答回答于

根据您的问题,我假设您能够以一种方式显示图像JPanel。在这种情况下,您可以保留一个列表JPanels并动态更新此列表。当然,要绘制的布局JFrame完全取决于您,但对于像这样的工作,您可能想要使用GridLayoutBoxLayout

要保留JPanels列表:

ArrayList<JPanel> panelList = new ArrayList<JPanel>();
...
panelList.add(new JPanel());
...
panelList.clear();
用户回答回答于

此解决方案应该工作:

class MyFrame extends JFrame
{
MyFrame(Image images[])
 {
 JTabbedPane tabbed= new JTabbedPane();
 setContentPane(tabbed);
 for(int i=0;i< images.length;++i)
  {
  tabbed.addTab("Image "+i, new JScrollPane(new JLabel(new ImageIcon(images[i]))));
  }
 }

扫码关注云+社区

领取腾讯云代金券