码迷,mamicode.com
首页 > 编程语言 > 详细

Java swing 如何让垂直滚动条始终在最下面

时间:2015-06-07 12:37:20      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:java-swing

Java swing 如何让垂直滚动条始终在最下面
见图说话:
技术分享

上图中箭头所指的是一个JTextPane
JTextPane 被包在JScrollPane 中

//执行结果显示窗口
        resultTextPane = new AssistPopupTextPane();
        resultTextPane.setContentType("text/html; charset=UTF-8");
        resultTextPane.setEditable(false);
        DefaultCaret caret = (DefaultCaret)resultTextPane.getCaret();
        caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);


        scrollPane.setViewportView(resultTextPane);

在接收到推送消息时,JTextPane中的内容会动态的增加,增加到一定程度,会产生垂直滚动条,那么如何使垂直滚动条始终保持在JTextPane 最底部呢?
这样就永远可以看到最新的推送消息了.
实现:
(1)设置JTextPane 的策略

DefaultCaret caret = (DefaultCaret)resultTextPane.getCaret();
        caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);

(2)当JTextPane 动态增加内容时

resultTextPane.setSelectionStart(resultTextPane.getText().length());
        JScrollBar vertical = scrollPane.getVerticalScrollBar();
        vertical.setValue( vertical.getMaximum());

说明:
(1)resultTextPane 的类型是JTextPane;
(2)JTextPane和JTextArea的区别:
JTextPane 可以设置html样式;
JTextArea无法设置成为html样式

项目采用maven 构建
源代码下载地址:
项目源代码

依赖的jar包:
依赖包

Java swing 如何让垂直滚动条始终在最下面

标签:java-swing

原文地址:http://blog.csdn.net/hw1287789687/article/details/46399811

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!