(1)当我把jlist加到JViewport时,JPanel里JScrollPane只有横向滚动条
jp1 = new JPanel();
jlist=new JList();
JScrollPane jsp = new JScrollPane();
jv=new JViewport();jv.add(jlist);
jsp.setViewportView(jv);
jp1.add(jsp);(1)当我直接把JList放入JScrollPane里后 横向纵向滚动条又有了
jp1 = new JPanel();
jlist=new JList();
JScrollPane jsp = new JScrollPane(jlist);
jp1.add(jsp);我的问题是,怎么让第1种情况里出现纵向滚动条,要重写什么方法?或者有什么办法

解决方案 »

  1.   

    我自己解决了
    //setViewportView设置没有纵向滚动条
    //jsp.setViewportView(listScroll);
    //改为
    jsp.setViewport(listScroll);
    就OK了
    看了一处API
              void setViewport(JViewport viewport) 
              移除旧视口(如果有);强制新视口的 viewPosition 位于 +x,+y 象限中;将行和列标
                题(如果有)与新视口同步;最后将滚动条和标题与新视口同步。 
                void setViewportView(Component view) 
              创建一个视口(如果有必要)并设置其视图。 谢谢各人大拿