我在jscrollpane中放了一个jtextpane,jtextpane的内容是动态添加的,在添加内容的方法结尾处我用了以下两句话
JScrollBar jb = jScrollPane.getVerticalScrollBar();
jb.setValue(jb.getMaximum());
现在的问题是竖向滚动条可以自动滚动,但是一般情况下都滚动不到最下方,偶尔几次可以滚动到最下下方。
请求指教。
或者还有其他的实现方法吗?

解决方案 »

  1.   

    在你的jb.setValue(jb.getMaximum());后面加上下面这句话就可以了。
    jScrollPane.getViewport().doLayout();  别忘了给分啊~~
      

  2.   

    错了,加的顺序有问题:
    应该是这样的:
    jScrollPane.getViewport().doLayout();
    jb.setValue(jb.getMaximum());
      

  3.   

    JScrollBar.getVerticalScrollBar();
    jb.setValue(jb.getMaximum());
      

  4.   

    jTextPane.setCaretPosition(jTextPane.getText().length());
      

  5.   

    jTextPane.setCaretPosition(jTextPane.getText().length());
    ----------------------------------------------------------------
    异常: 
    java.lang.IllegalArgumentException: bad position:
      

  6.   

    之前用的是JTextArea,jTextArea.setCaretPosition(jTextArea.getText().length();正常自动滚动到底端,看看jTextPane.setCaretPosition(jTextPane.getDocument().getLength());