1.前言
最近在做一个swing的聊天UI,想要实现聊天界面的消息框,每次接收消息与发送消息时,需要滚动面板自动滚动到底部。而所使用的组件是JScrollPane+JPane,所以,通过设置文本框的光标位置的方式,并不适用于此情况。解决的方式是:getVerticalScrollBar设置。
2.解决
showJScroll.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
e.getAdjustable().setValue(e.getAdjustable().getMaximum());
}
});
提示: shwoJScroll 是 JScrollPane 对象,在对象创建之后,直接为垂直滚动条(VerticalScrollBar)添加一个监听事件,即可实现。
处理方式来自谷歌这篇 文章。