我现在想用Java做一个类似图片浏览器的东西,就像资源管理器以缩略图的样子看图片
现在我的构思是以JPanel包装图片 , 一张图片一个JPanel , 然后把许多JPanel放在JScrollPane中 , 
请问如何实现 , 最好有代码还有,因为图片数量不是固定,所以JScrollPane设置布局的时候应该如何设置,用Grid? 举个例子:每行三个 , 
该如何实现 谢谢

解决方案 »

  1.   

    把许多JPanel放在JScrollPane中?
    如何放?
    没听说过
      

  2.   

    你可以参考JList的实现,使用CellRenderer绘制每个缩略图单元。
      

  3.   

    好像JScrollPane是不能放很多JPanel的
    那用什么容器呢? JList?  最好是
    能一行三个  然后很多行  这种样子的
      

  4.   

    你可以把一个JPanel放在JScrollPane,在把图片画在JLabel上面,把JLabel放在JPanel上.
    一行放三个的话,样式你可以GridLayout gb=new GridLayout(rows,3);
      

  5.   

    其实可以把一个大的JPanel放在JScrollPane中, JPanel的大小由图片的数量决定, 缩略图都画在这个JPanel上, 缩略图的大小可以自行设定, 用缩略图的数量来控制 JPanel的大小.当JPanel大于显示区域时, 滚动条会自动出现的, 因为这个已经用过了, 没有任何问题. 如果每张图片对应一个JPanel的话, 有些浪费资源了.因为你可以去看一下JPanel的定义, 里面有多少变量定义, 每新建一个JPanel, 那些变量(非静态的)都要创建一次, 浪费内存.
      

  6.   

    说的不错,具体可以参考table,或是list的cellrender来避免重复创建jpanel的问题