zoukankan      html  css  js  c++  java
  • JAVA 如何使JScrollPane中的JTextArea自动滚动到最后一行?

    1、要使JTextArea带有滚动条,需将JTextArea对象添加到JScrollPane中。

    JTextArea logArea = new JTextArea(15, 35); //创建JTextArea对象
    logArea.setWrapStyleWord(true); //换行方式:不分割单词
    logArea.setLineWrap(true); //自动换行
    //给JTextArea添加垂直滚动条
    JScrollPane logScroll = new JScrollPane(logArea,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);


     

     2、要使JTextArea在更新内容时自动滚动到最后一行,可以通过对JScrollBar进行操作。

    static JScrollBar scrollBar=logScroll.getVerticalScrollBar();
    //每次需要在JTextArea增加String时,调用如下方法
    private void refreshTextArea(String text){ logArea.append(text);
    //在更新logArea后,稍稍延时,否则getMaximum()获得的数据可能不是最后的最大值,无法滚动到最后一行
    try { Thread.sleep(100); } catch (InterruptedException ex) { Logger.getLogger(TestServer.class.getName()).log(Level.SEVERE, null, ex); } scrollBar.setValue(scrollBar.getMaximum()); }
  • 相关阅读:
    李阳疯狂英语精选365句
    线程 notify,与notifyAll 的区别
    关于Logger,Tomcat 的Logger是如何工作的
    知豆 源
    关于好多继承的问题,我们应该如何去理解
    5+1+2
    wu xing
    ALBPM Time Question
    推荐书集
    “疯狂”的定义
  • 原文地址:https://www.cnblogs.com/tt2015-sz/p/4484001.html
Copyright © 2011-2022 走看看