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()); }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM