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

简介: <div class="markdown_views"><p>Java swing 如何让垂直滚动条始终在最下面 <br>见图说话: <br><img src="http://img.blog.csdn.net/20150607121654423" alt="swing 界面" title=""></p><p>上图中箭头所指的是一个JTextPane <br>JTex

Java swing 如何让垂直滚动条始终在最下面
见图说话:
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包:
依赖包

相关文章
|
15天前
|
存储 IDE Java
漂亮不是梦!Java Swing美化攻略
Java Swing 是一个为 Java 设计的 GUI 工具包,提供文本框、按钮等组件。尽管其外观可定制,通过 Look and Feel(LAF)机制改变应用风格,如 Darcula 和 FlatLaf,但现已淡出主流视野,主要应用于 IDE 领域,如 IntelliJ IDEA 和 Eclipse。相比其他 GUI 框架,Swing 的发展前景有限。
38 1
|
5月前
|
安全 Java API
|
5月前
|
SQL Java 数据库连接
【Java】Java Swing 图书管借阅管理系统(源码+论文)【独一无二】
【Java】Java Swing 图书管借阅管理系统(源码+论文)【独一无二】
303 0
|
5月前
|
存储 数据可视化 Java
【Java】Java swing 民宿管理系统 GUI(源码+可视化界面)【独一无二】
【Java】Java swing 民宿管理系统 GUI(源码+可视化界面)【独一无二】
133 0
|
7月前
|
Java 数据安全/隐私保护
利用Java图形化界面组件Swing写一个简易的登录界面
利用Java图形化界面组件Swing写一个简易的登录界面
99 1
|
7月前
|
Java Windows
基于java Swing编写扫雷游戏设计实现(已调试)
基于java Swing编写扫雷游戏设计实现(已调试)
91 1
|
7月前
|
Java
Java Swing模拟水波纹扩散效果动画
Java Swing模拟水波纹扩散效果动画
68 6
|
7月前
|
Java
JAVA Swing自定义JScorllPanel
JAVA Swing自定义JScorllPanel
44 1
|
7月前
|
前端开发 Java UED
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
|
7月前
|
存储 设计模式 前端开发
[笔记] 疯狂JAVA讲义(第3版)第12章 Swing编程
[笔记] 疯狂JAVA讲义(第3版)第12章 Swing编程