各位大虾好! 小弟有个问题想请教:
我有10多张图片要显示,窗口肯定无法一次全部的显示,所以想使用JScrollPane 滚动的显示,应该怎么样实现呢?

解决方案 »

  1.   

    一種方法  把jscrollpane 的布局管理器 設置成 flowlayout ~
      

  2.   

    添加图片部分,继续使用你自己的逻辑就可以了import java.awt.Container;
    import java.awt.GridLayout;import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;public class Test4ScrollPane extends JFrame { /**
     * @param args
     */
    public static void main(String[] args) {
    Test4ScrollPane tslp = new Test4ScrollPane();
    } public Test4ScrollPane() {
    setSize(500, 400);
    Container c = getContentPane();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel jp = new JPanel();
    jp.setLayout(new GridLayout(0, 1, 0, 50));
                    //添加图片 begin
    JLabel cl = new JLabel();
    cl.setIcon(new ImageIcon("Image1"));
    jp.add(cl);
    cl = new JLabel();
    cl.setIcon(new ImageIcon("Image2"));
    jp.add(cl);
                    //添加图片 end JScrollPane jsp = new JScrollPane(jp);
    c.add(jsp); setVisible(true);
    }
    }
      

  3.   

    刚刚看到,谢谢你的回答!可以显示多个图片了,只是还有一个疑问:
    我在frame 里左边放了一个jpanel,显示一个jtree,右边就是JScrollPane
    我想在点击某个jtree节点的时候,从该节点对应的文件夹里取出10多张图片显示,
    所以给jtree 加了鼠标点击事件,在处理事件代码中使用了你说的显示图片的方法,
    现在的问题是:如果我点击了一个节点,显示了10多张图片,再点击其他节点,原来的
    图片还是会存在,这个问题怎么解决呢?谢谢,弄明白了马上结贴。
      

  4.   

    你要把你之前加进去的images全都清掉才行
    如果你固定要显示10张图片的话,上面那个JLacel就做个数组
    左边换tree节点的话,右边JLabel全换掉图片如果你的图片数量不固定,那么就把JPanel里面的components全都remove掉,然后重新添加