JTextArea操作

JTextArea操作:

  (1)在JTextArea插入最后一条消息之后,使用selectAll()将光标强制移动到JTextArea的最后,实现滚动条的自动滚动。(Aviva中采用的方式)

  (2)在JTextArea插入最后一条消息之后,使用(JTextArea)recvArea.setCaretPosition(recvArea.getText().length()),将光标移到最后,实现滚动条的自动滚动。

  (3)在JTextArea加载了自动滚动条JScroll之后,将JTextArea加入到JScrolPanel的ViewPort中: (有一些Bug,使得图像有点闪烁) recvScrollPane.getViewport().add(recvArea, null);

  然后在JTextArea插入最后一条新消息之后,将滚动条的Viewport重新设置到最底端的位置:

  nt height = 20;

   Point p = new Point();

   p.setLocation(0, recvArea.getLineCount() * height);

   recvScrollPane.getViewport().setViewPosition(p);

你可能感兴趣的:(java)